我需要从s3存储桶中递归下载文件。 s3存储桶允许匿名访问。
如何在不使用匿名用户提供AWS Access Key的情况下列出文件并下载文件?
我的命令是:
aws s3 cp s3://anonymous@big-data-benchmark/pavlo/text/tiny/rankings/uservisits uservisit --region us-east --recursive
aws表示:
Unable to locate credentials. You can configure credentials by running "aws
配置"
答案 0 :(得分:27)
您可以使用no-sign-request
选项
aws s3 cp s3://anonymous@big-data-benchmark/pavlo/text/tiny/rankings/uservisits uservisit --region us-east --recursive --no-sign-request
答案 1 :(得分:4)
即使您正在进行匿名访问,也可能需要提供访问密钥和密钥。没有为AWS cli看到匿名选项。
另一种方法是,它可以点击http端点并以这种方式获取文件。
在您的情况下:this question
您将获得XML列出存储桶中的所有密钥。您可以提取密钥并为每个密钥发出请求。不是最快的东西,但它会完成工作。
例如:http://big-data-benchmark.s3.amazonaws.com
获取文件卷曲应该足够了。根据你喜欢的内容解析xml你可以像sed一样高级,也可以用高级语言作为正确的语言。
希望这会有所帮助。