Class: MongoDbUtils::S3
- Inherits:
-
Object
- Object
- MongoDbUtils::S3
- Defined in:
- lib/mongo-db-utils/s3.rb
Class Method Summary collapse
- .get_file(filename, key, bucket_name, access_key_id, secret_access_key) ⇒ Object
- .list_bucket(bucket_name, access_key_id, secret_access_key) ⇒ Object
- .put_file(file, name, bucket_name, access_key_id, secret_access_key) ⇒ Object
Class Method Details
.get_file(filename, key, bucket_name, access_key_id, secret_access_key) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mongo-db-utils/s3.rb', line 24 def self.get_file(filename, key, bucket_name, access_key_id, secret_access_key) puts "getting file from Amazon S3" self.s3connect(access_key_id, secret_access_key) File.open(filename, 'wb') do |file| AWS::S3::S3Object.stream(key, bucket_name) do |chunk| file.write chunk end file.close end end |
.list_bucket(bucket_name, access_key_id, secret_access_key) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/mongo-db-utils/s3.rb', line 38 def self.list_bucket(bucket_name, access_key_id, secret_access_key) puts "getting list of bucket keys from Amazon S3" self.s3connect(access_key_id, secret_access_key) begin AWS::S3::Bucket.find(bucket_name).objects.collect(&:key) rescue AWS::S3::NoSuchBucket puts "Error:: Bucket does not exist: #{bucket_name}" return nil rescue AWS::S3::AllAccessDisabled puts "Error:: You cannot access this bucket: #{bucket_name}" return nil end end |
.put_file(file, name, bucket_name, access_key_id, secret_access_key) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/mongo-db-utils/s3.rb', line 7 def self.put_file(file, name, bucket_name, access_key_id, secret_access_key) puts "putting file to Amazon S3" self.s3connect(access_key_id, secret_access_key) begin AWS::S3::Bucket.find(bucket_name) rescue AWS::S3::NoSuchBucket AWS::S3::Bucket.create(bucket_name) rescue AWS::S3::AllAccessDisabled puts "Error:: You cannot access this bucket: #{bucket_name}" return end AWS::S3::S3Object.store(name, open(file), bucket_name) end |