Amazon web services 调用HeadObject操作时发生客户端错误(400):错误的请求已完成1个部分,其中。。。剩余文件
我正试图通过cli将文件从私有s3存储桶复制到我的ec2实例。ec2与bucket位于同一区域,并连接了以下IAM角色(AmazonS3FullAccess): 但是命令Amazon web services 调用HeadObject操作时发生客户端错误(400):错误的请求已完成1个部分,其中。。。剩余文件,amazon-web-services,amazon-s3,amazon-ec2,aws-cli,Amazon Web Services,Amazon S3,Amazon Ec2,Aws Cli,我正试图通过cli将文件从私有s3存储桶复制到我的ec2实例。ec2与bucket位于同一区域,并连接了以下IAM角色(AmazonS3FullAccess): 但是命令aws s3 cp s3://[BUCKETNAME]/index.html失败,错误如下: 调用HeadObject操作时发生客户端错误(400):错误的请求已完成1个部分,其中。。。文件剩余 当我将同一策略从“内联策略”更改为“托管策略”时,我已经仔细检查了bucket名称的拼写…。参考我在中的答案,我在语句中添加了--re
aws s3 cp s3://[BUCKETNAME]/index.html
失败,错误如下:
调用HeadObject操作时发生客户端错误(400):错误的请求已完成1个部分,其中。。。文件剩余
当我将同一策略从“内联策略”更改为“托管策略”时,我已经仔细检查了bucket名称的拼写…。参考我在中的答案,我在语句中添加了--region选项,现在一切正常:
aws s3 cp s3:/[BUCKETNAME]/ . --recursive --region [REGION]
升级到最新版本的aws cli后,我的问题就得到了解决。以下是如何升级:
pip安装--升级--用户awscli
指定区域没有帮助参数--region
对我不起作用
我试着使用--profile
,效果很好
aws s3api head-bucket --bucket xxxx --profile dev-profile
如果使用具有假定角色的临时安全凭据,则会话过期时也会发生此错误。不是你所期望的被禁止或未知的id 这是您运行的完整cp命令行吗?cp还需要一个本地路径名参数。很抱歉,我在帖子中忘记了这一部分,但它确实存在:“aws s3 cp s3://[bucketname]/index.html/var/www/html/”我的错。我的意思是“内联”到“管理”。将编辑。把它归咎于深夜编程你对aws--version的输出是什么?我的是aws cli/1.10.16 Python/2.7.3 Linux/3.13.0-86-generic botocore/1.4.7。奇怪的是,bucket和ec2实例保持在同一个区域。我很困惑…看起来您的awscli配置缺少
AWS\u DEFAULT\u REGION
参数。检查。您可以尝试使用aws配置,如所述和所述。否则,您只需使用pip安装升级awscli——将awscli
升级到最新版本。
aws s3api head-bucket --bucket xxxx --profile dev-profile