s3 = Aws::S3::Client.new
bucket = Aws::S3::Bucket.new('AWS_BUCKET NAME HERE')
bucket.objects.each do |obj|
File.open("#{Rails.root}/#{obj.key}", 'wb') do |file|
s3.get_object( bucket:ENV[:AWS_BUCKET], key: obj.key , response_target: file)
end
end
また
s3 = Aws::S3::Client.new
s3.list_objects(bucket: 'AWS_BUCKET NAME HERE').each do |response|
response.contents.each do |obj|
File.open("#{Rails.root}/#{obj.key}", 'wb') do |file|
s3.get_object( bucket: 'AWS_BUCKET NAME HERE', key: obj.key , response_target: file)
end
end
end
公式の AWS-SDK RUBY gemがあります
バージョン 2 の AWS SDK ruby 公式ドキュメント
環境変数の構成については、 figaroまたはdotenv (開発環境用)または~/.bashrcファイルで設定できます。
ノート:
- S3 バケットを作成し、 AWS_ACCESS_KEY_IDとAWS_SECRET_ACCESS_KEYを取得する必要があります。
- 開発の前に、 Google Chrome s3 ブラウザー拡張機能を使用して、s3 バケット データをテストしてアクセスできます。
- コマンドsource ~/.bashrcまたは. ~/.bashrcファイルに ENV 変数を保存すると、変更が反映されます。
コード リファレンス