Provides an expressive, object-oriented interface to Amazon S3.
To use Amazon S3 you must first sign up here.
For more information about Amazon S3, see:
You can setup default credentials for all AWS services via AWS.config:
AWS.config( :access_key_id => 'YOUR_ACCESS_KEY_ID', :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
Or you can set them directly on the S3 interface:
s3 = AWS::S3.new( :access_key_id => 'YOUR_ACCESS_KEY_ID', :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
S3 stores objects in buckets.
To create a bucket:
bucket = s3.buckets.create('mybucket')
To get a bucket:
bucket = s3.buckets[:mybucket] bucket = s3.buckets['mybucket']
Listing buckets:
s3.buckets.each do |bucket| puts bucket.name end
See {Bucket} and {BucketCollection} for more information on working with S3 buckets.
Enumerating objects in a bucket:
bucket.objects.each do |object| puts object.key #=> no data is fetched from s3, just a list of keys end
You can limit the list of objects with a prefix, or explore the objects in a bucket as a tree. See {ObjectCollection} for more information.
Each object in a bucket has a unique key.
photo = s3.buckets['mybucket'].objects['photo.jpg']
Writing to an S3Object:
photo.write(File.read('/some/photo.jpg'))
Reading from an S3Object:
File.open("/some/path/on/disk.jpg", "w") do |f| f.write(photo.read) end
See {S3Object} for more information on reading and writing to S3.
@return [BucketCollection] Returns a collection that represents all
buckets in the account.
# File lib/aws/s3.rb, line 130 def buckets BucketCollection.new(:config => @config) end