注意
ここではAWS SDK for Ruby V2で開発しています。
V1とは、AWS::S3
ではなくAws::S3
と書いたり若干違うので要注意です。
AWSのS3でインスタンスを作ると、、、
Aws::S3::Client
でインスタンスを作っていたときのことです。
以下のように書いていました、、、
def s3
@s3 ||= Aws::S3::Client.new(
:access_key_id => ENV['AWS_S3_ACCESS_KEY'],
:secret_access_key => ENV['AWS_S3_SECRET_KEY']
)
end
するとエラーが出ます。
Regionを設定しないと以下のエラーが出ると思います。
Aws::Errors::MissingRegionError - missing region; use :region option or export region name to ENV['AWS_REGION']:
では、どのようにしたらいいのでしょう?
Regionの設定の仕方
ここでAWSのドキュメントをみてみましょう。

ここでサービス対象があるところを設定します。
基本的にQiita
を読んでいる人は日本で開発していると思うので
def s3
@s3 ||= Aws::S3::Client.new(
:region => 'ap-northeast-1',
:access_key_id => ENV['AWS_S3_ACCESS_KEY'],
:secret_access_key => ENV['AWS_S3_SECRET_KEY']
)
end
となって、エラーがでなくなります。
参考になればいいね!とストックをお願いします。