如何使用匿名用户将 aws CLI 配置为 s3 cp

How to configure aws CLI to s3 cp with anonymous user

我需要从 s3 存储桶递归下载文件。 s3 存储桶允许匿名访问。

如何使用匿名用户在不提供 AWS 访问密钥的情况下列出文件并下载它们?

我的命令是:

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 配置

您可能必须提供访问密钥和秘密密钥,即使您进行匿名访问也是如此。没有看到 AWS cli 的匿名选项。

另一种方法,它可以访问 http 端点并以这种方式抓取文件。

你的情况:http://big-data-benchmark.s3.amazonaws.com

您将获得并XML 列出存储桶中的所有密钥。您可以提取密钥并为每个密钥发出请求。不是最快的东西,但它会完成工作。

例如:http://big-data-benchmark.s3.amazonaws.com/pavlo/sequence-snappy/5nodes/crawl/000741_0

获取文件 curl 应该足够了。为了根据您的喜好解析 xml,您可以像 sed 一样低级,也可以像适当的语言一样高级。

希望这对您有所帮助。

您可以使用 no-sign-request 选项

aws s3 cp s3://anonymous@big-data-benchmark/pavlo/text/tiny/rankings/uservisits uservisit --region us-east --recursive --no-sign-request