【问题标题】:How to configure aws CLI to s3 cp with anonymous user如何使用匿名用户将 aws CLI 配置为 s3 cp
【发布时间】:2016-03-14 11:01:17
【问题描述】:

我需要从 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配置”

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-sdk


    【解决方案1】:

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

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

    【讨论】:

    • 是的,当使用 localstack 时,这就是秘诀。谢谢!
    • 这不仅适用于 localstack。例如一个公共 s3 存储桶,您可以在本地运行它aws s3 ls ryft-public-sample-data --no-sign-request
    • 使用 aws 配置文件或配置文件而不是此命令行选项的任何方法?
    【解决方案2】:

    您可能必须提供访问密钥和秘密密钥,即使您正在进行匿名访问。没有看到 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 一样低级,也可以像适当的语言一样高级。

    希望这会有所帮助。

    【讨论】:

    • :) 最后,我确实做到了。我使用 wget 来获取索引和下载文件。
    猜你喜欢
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 2018-04-20
    相关资源
    最近更新 更多