AWS-SDK-Core Ruby Gem を使用してアップロードされた画像ファイルを削除しようとしています。
次のコードがあります:
require 'aws-sdk-core'
def pull_picture(picture)
Aws.config = {
:access_key_id => ENV["AWS_ACCESS_KEY_ID"],
:secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"],
:region => 'us-west-2'
}
s3 = Aws::S3::Client.new
test = s3.get_object(
:bucket => ENV["AWS_S3_BUCKET"],
:key => picture.image_url.split('/')[-2],
)
end
ただし、次のエラーが発生します。
アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。今後のすべてのリクエストはこのエンドポイントに送信してください。
us-east-1
リージョンを に変更すると次のエラーが表示されるので、リージョンが正しいことがわかります。
指定されたキーは存在しません。
ここで何が間違っているのでしょうか?
ベストアンサー1
このバケットは、us-west-2 ではなく、別のリージョンで作成された可能性があります。「アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。今後のすべてのリクエストをこのエンドポイントに送信してください。」というメッセージが表示されたのは、このときだけです。
米国標準は
us-east-1