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

时间:2017-04-10 13:22:55

标签: amazon-web-services ubuntu amazon-s3 amazon-ec2 aws-cli

我在自定义VPC中运行了两个EC2实例,其中一个运行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命令将文件从存储桶下载到服务器。 VPC设置中既没有问题,也没有IAM角色和安全组,因为这同样适用于运行Amazon Linux的其他服务器。

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

2 个答案:

答案 0 :(得分:5)

很可能是python版本和aws cli版本不匹配问题。发布aws cli版本和python版本

python -V
aws --version

仅使用pip安装awscli,以便获得正确的python版本。

pip install awscli

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

答案 1 :(得分:0)

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

pip3 install awscli --upgrade --user

有关更多信息: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html#install-tool-pip

相关问题