web-dev-qa-db-ja.com

HeadObject操作の呼び出し中にクライアントエラー(400)が発生しました:不正な要求が完了しました...残り...ファイルが残っています

プライベートのs3-bucketからcli経由でec2インスタンスにファイルをコピーしようとしています。 ec2はバケットと同じリージョンにあり、次のIAMロールがアタッチされています(AmazonS3FullAccess):

{
"Version": "2012-10-17",
"Statement": [
   {
     "Effect": "Allow",
     "Action": "s3:*",
     "Resource": "*"
   }
 ]
}

しかし、コマンドaws s3 cp s3://[BUCKETNAME]/index.htmlは次のエラーで失敗します。

HeadObject操作を呼び出すときに、クライアントエラー(400)が発生しました:Bad Request Completed 1 part(s)with ... file(s)remaining。

バケット名のスペルをすでに二重にチェックしました...

19
shootoke

ステートメントに--regionオプションを追加しましたが、すべて正常に動作しています。

aws s3 cp s3:/[BUCKETNAME]/ . --recursive --region [REGION]
30
shootoke

--regionパラメーターを追加し、機能し始めました。

aws --region eu-west-2 s3 cp s3://[BUCKETNAME]/index.html

私の問題は、aws cliの最新バージョンにアップグレードするとすぐに修正されました。アップグレード方法は次のとおりです。pip install --upgrade --user awscli

地域の指定は役に立たなかった

3
Tushar Goswami

地域パラメータが機能しませんでした。

--profileを使用してみましたが、すべて正常に機能しました。

aws s3api head-bucket --bucket xxxx --profile dev-profile

2

同じポリシーを「インラインポリシー」から「管理ポリシー」に変更すると、機能しました。 https://stackoverflow.com/a/37532132/4126114 で私の回答を参照してください

0
shadi