1

Ruby on Rails を使って数か月が経ちました。私の要件は、Amazon S3 のイメージをローカル システムに取り込むことです。オブジェクトは取得できましたが、画像は取得できませんでした。

次のコードを書きました。

s3_details = YAML.load(File.read("#{Rails.root}/config/s3.yml"))    
s3 = AWS::S3.new(
  :access_key_id      => s3_details[Rails.env]['s3_access_key'],
  :secret_access_key  => s3_details[Rails.env]['s3_secret'] 
)
bucket = s3.buckets['bucket_name'] 
bucket.objects 

誰でも私を助けることができますか?

4

1 に答える 1

2

を見てみましょう。
複数のプロバイダーをサポートできるという大きな利点があります。したがって、明日、S3 以外のものを使用したい場合でも、同じ API を使用して非常に簡単に使用できます。

また、ファイルを非常に簡単に読み取ることもできます。

connection = Fog::Storage.new({
  provider:              'AWS',
  aws_access_key_id:     '',
  aws_secret_access_key: ''
})
directory = connection.directories.new(key: 'bucket_name')


directory.files.each do |s3_file|
  File.open(s3_file.key, 'w') do |local_file|
    local_file.write(s3_file.body)
  end
end

上記の例では、バケットbucket_nameに接続し、そこにあるすべてのファイルをダウンロードします。

于 2013-03-06T13:08:47.130 に答える