Amazon web services AWS CLI:从实例复制到存储桶时复制命令失败

Amazon web services AWS CLI:从实例复制到存储桶时复制命令失败,amazon-web-services,ubuntu,amazon-s3,amazon-ec2,aws-cli,Amazon Web Services,Ubuntu,Amazon S3,Amazon Ec2,Aws Cli,我有两个EC2实例在自定义VPC中运行,一个运行Ubuntu 16.04,另一个运行Amazon Linux 2017.03。我还分配了一个IAM角色,允许对所有S3存储桶进行读写访问 但是,当我尝试运行copy命令,将文件从实例复制到S3存储桶时,它在Ubuntu服务器上失败。我在两台服务器上运行的命令是: aws s3 cp /myfolder/myfile.txt s3://mybucket/backups/ 它在Ubuntu上给出以下错误: upload failed: ../../m

我有两个EC2实例在自定义VPC中运行,一个运行Ubuntu 16.04,另一个运行Amazon Linux 2017.03。我还分配了一个IAM角色,允许对所有S3存储桶进行读写访问

但是,当我尝试运行copy命令,将文件从实例复制到S3存储桶时,它在Ubuntu服务器上失败。我在两台服务器上运行的命令是:

aws s3 cp /myfolder/myfile.txt s3://mybucket/backups/
它在Ubuntu上给出以下错误:

upload failed: ../../myfolder/myfile.txt to s3://mybucket/backups/myfile.txt seek() takes 2 positional arguments but 3 were given
其他一切都可以工作,例如,通过copy命令将文件从bucket下载到服务器。VPC设置没有问题,IAM角色和安全组也没有问题,因为这同样适用于运行Amazon Linux的其他服务器


PS:使用--dryrun开关运行copy命令在Ubuntu服务器上不会出现错误。

很可能是python版本和aws cli版本不匹配的问题。aws cli版本和python版本之后

python -V
aws --version
仅使用pip安装awscli,以使其获得正确的python版本

pip install awscli

参考:github.com/aws/aws-cli/issues/2403

我也有同样的问题。问题是我使用Ubuntu软件包管理器安装了aws软件包。我们应该使用此命令安装aws命令:

pip3 install awscli --upgrade --user

有关更多信息,请参阅文档中的。

python3-V输出:Python 3.5.2 aws--version输出:aws cli/1.11.13 Python/3.5.2 Linux/4.4.0-72-generic botocore/1.4.70此外,从bucket复制到实例时没有任何问题。反之亦然。如果这是python的问题,两者都不起作用。你用pip安装了awscli吗?自定义安装将出现这些问题。非常感谢!我删除了我通过apt安装的那个,并用pip安装了那个。如果你能更新你的答案,我将投票表决,并将你的答案标记为正确。