Sha256: 31484bb73a2e8cba3fe4f1b17fb88de789be0c6f3ec2e00a80186581d90a4dcd
Contents?: true
Size: 1.64 KB
Versions: 2
Compression:
Stored size: 1.64 KB
Contents
require 'aws/s3' module MongoDbUtils class S3 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 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 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 private def self.s3connect(access_key_id, secret_access_key) AWS::S3::Base.establish_connection!( :access_key_id => access_key_id, :secret_access_key => secret_access_key ) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mongo-db-utils-0.2.1 | lib/mongo-db-utils/s3.rb |
mongo-db-utils-0.2.0 | lib/mongo-db-utils/s3.rb |