RailsアプリケーションからS3オブジェクトを作成します。
gem
aws-adk
が必要となるので、Gemfile
に記述し、記述後bundle install
を行います。
gem 'aws-sdk'
AWSクレデンシャルの設定
S3にアクセスロールがあるIAMユーザのクレデンシャルをAWSクライアントに設定します。尚、クレデンシャルの設定は、.env
に
AWS_ACCESS_KEY = your_access_key AWS_SECRET_ACCESS_KEY = your_secret_key
のように設定済みのものとします。
※.env
のインストールについては省略します。
aws initializerの設定
Railsアプリケーションのconfig/initializer/
にaws.rb
ファイルを作成します。
※リージョンは利用するリージョン名を指定します。
access = ENV["AWS_ACCESS_KEY"] secret = ENV["AWS_SECRET_ACCESS_KEY"] Aws.config.update({ region: 'ap-northeast-1', credentials: Aws::Credentials.new(access, secret), })
S3へオブジェクトの書き込み
例として、配列data
をJsonエンコードしたfilename.json
ファイルを書き出します。
filename = "pathTo/filename.json" client = Aws::S3::Client.new client.put_object(bucket: "bucketName", key: filename, body: data.to_json)