将存储桶文件复制到本地磁盘的问题

时间:2015-03-30 19:06:08

标签: amazon-web-services amazon-s3

我已经完成了我认为我需要做的所有序列,但在尝试在本地复制文件时,我仍然得到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

2 个答案:

答案 0 :(得分:7)

不推荐使用

s3s3 and s3api are on different tierss3api是API级别,而s3具有高级命令。

LS

问题是你的第一个命令中有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

CP

$ 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