Ubuntu 22 に Ruby をインストールしつつ、 AWS S3 にファイルをアップロードする
https://gyazo.com/197d82e492c1ed840cef053a0371340a
そんなに難しいことではないが、久しぶりにやったのでメモとして残しておく。
Ubuntu へのインストール
こちらの記事を参考にさせていただいた。
Ruby で S3 にファイルをアップロード
使用した Ruby のバージョンは 3.3.5 である。
code:bash
gem install aws-sdk-s3
AWS でアクセスキーをセットし、環境変数にセットする。
code:bash
export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY
export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
code:aws_s3.rb
require 'aws-sdk-s3'
REGION = 'us-east-1'
BUCKET_NAME = 'bucket_name'
s3_client = Aws::S3::Client.new(region: REGION)
key = 'some/path/file.txt'
file_name = File.basename(key)
begin
s3_client.put_object(
bucket: BUCKET_NAME,
key:,
body: File.open(file_name)
)
rescue Aws::S3::Errors::ServiceError => e
end
今回は関係ないが、 S3 のバケット名から region を調べる方法として、 get-bucket-location という API があるようだ。