AWS SDK for Rubyã§ã®ãã¡ã¤ã«é¢ä¿ã®S3ã®æä½ã§ããä¸è¦§åå¾ã¨ãã¡ã¤ã«ã®åå¾ã®æ¹æ³ãã¡ã¢ç¨åº¦ã«ã¾ã¨ãã¦ãã¾ããä¸è¦§åå¾ã«ã¤ãã¦ã¯ãåºæ¬çã«ã¯2éããã£ã¦Bucket.as_treeããããªã¼å½¢å¼ã§åå¾ããæ¹æ³ã¨Bucket.objects.collectãããã¼ã®ä¸è¦§ãåå¾ããæ¹æ³ãããã¾ããS3ã®æ§é ãããããè¦ã¦ã¿ãã¨ããã©ããæ§é ã®ãã®ãæ¬ä¼¼çã«ããªã¼æ§é ã«ãã¦ããã ãã®ããã§ããBucket.objects.collectãããã£ã«ã¿ã¼ãã¦åå¾ããã®ãå¹çãè¯ãããããã¾ããã
require 'aws-sdk' AWS.config({ :access_key_id => 'your_access_key_id', :secret_access_key => 'your_secret_access_key', }) s3 = AWS::S3.new bucket = s3.buckets['yourbucketname'] tree = bucket.as_tree #ãã£ã¬ã¯ããªä¸è¦§ directories = tree.children.select(&:branch?).collect(&:prefix) directories.each{|directory| puts directory } #ãã¡ã¤ã«ä¸è¦§ files = tree.children.select(&:leaf?).collect(&:key) files.each{|file| puts file } #ãã¼ä¸è¦§ï¼ãã¡ã¤ã«ï¼ãã£ã¬ã¯ããªä¸è¦§ï¼ puts "keys" keys = bucket.objects.collect(&:key) keys.each{|key| puts key } #ãµããã©ã«ã以ä¸ã®ãã¡ã¤ã«ã®ä¸è¦§è¡¨ç¤º puts "sub folder" tree = bucket.as_tree({:prefix => 'subfoldername/'}) files = tree.children.select(&:leaf?).collect(&:key) files.each{|file| puts file }
ããªãã¸ã§ã¯ãã®åå¾
s3 = AWS::S3.new obj = s3.buckets['yourbucketname'].objects['filename'] #ãã¡ã¤ã«ã®æ¸ã込㿠obj.write('Hello World!') #ãã¹æå®ã§ãã¡ã¤ã«ã®æ¸ã込㿠obj.write(:file => path_to_file) #ãã¡ã¤ã«ã®èªã¿è¾¼ã¿ obj.read #èªè¨¼ä»ãURLã®çºè¡ puts obj.url_for(:read, :expires => 60) #seconds
ãå¾ã¯Streamingã¢ãããã¼ããæå·åãªã©è²ã
ãªæ©è½ããã¾ããå
¬å¼ã®ããã¥ã¡ã³ããèªãã°ã²ã¨éãæ¸ãã¦ããã®ã§ãæ¯éãä¸èªãã ããã
åç
§ï¼
AWS SDK for Ruby