我已经完成了我认为我需要做的所有序列,但在尝试在本地复制文件时,我仍然得到invalid argument type error
。我在这里做错了什么?
vagrant@dev:~$ aws s3 ls s://bucketname-vagrant
A client error (NoSuchBucket) occurred when calling the ListObjects operation: The specified bucket does not exist
vagrant@dev:~$ aws s3 ls bucketname-vagrant
2015-03-30 14:06:02 285061467 or_vagrant.sql.tar.gz
2015-03-30 13:55:01 102642228 or_vagrant.sql.xz
vagrant@dev:~$ aws s3 ls bucketname-vagrant/or_vagrant.sql.xz
2015-03-30 13:55:01 102642228 or_vagrant.sql.xz
vagrant@dev:~$ aws s3 cp bucketname-vagrant/or_vagrant.sql.xz /tmp/
usage: aws s3 cp <LocalPath> <S3Path> or <S3Path> <LocalPath> or <S3Path> <S3Path>
Error: Invalid argument type
答案 0 :(得分:7)
s3
。 s3
and s3api
are on different tiers。 s3api
是API级别,而s3
具有高级命令。
问题是你的第一个命令中有s3://
的拼写错误。
$ aws s3 ls s://bucketname-vagrant
A client error (NoSuchBucket) occurred when calling the ListObjects operation: The specified bucket does not exist
我可以使用自己的存储桶复制该错误。这有效:
$ aws s3 ls s://bucketname-vagrant
$ aws s3 cp bucketname-vagrant/or_vagrant.sql.xz /tmp/
这里的问题是aws-cli不知道你是否有一个名为bucketname-vagrant
的本地目录。您可以使用s3://
语法来解决此问题:
$ aws s3 cp s3://bucketname-vagrant/or_vagrant.sql.xz /tmp/
同样,我在本地复制了这个。
$ aws s3 cp bucket/test.txt /tmp/
usage: aws s3 cp <LocalPath> <S3Path> or <S3Path> <LocalPath> or <S3Path> <S3Path>
Error: Invalid argument type
$ aws s3 cp s3://bucket/test.txt /tmp/
download: s3://bucket/test.txt to /tmp/keybase.txt
答案 1 :(得分:0)
似乎是为了s3api而弃用了S3,这很有用
aws s3api get-object --bucket bucketname-vagrant --key or_vagrant.sql.tar.gz or_vagrant.sql.tar.gz