访问aws s3公共存储桶

时间:2016-07-13 23:29:33

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

我正在尝试从亚马逊的公共存储桶中下载数据。 Here is a description of the bucket in question

该存储区具有example的Web可访问文件夹。 我想下载说该文件夹中列出的所有文件。 将确定一长串合适的瓷砖,目标是一次性获取文件夹中的所有文件,而不是从http网站单独下载每个文件。

从其他StackOverflow问题我发现我需要使用REST端点并使用AWS CLI或Cyber​​duck之类的工具,但我还不能让它们工作。

我认为问题可能是身份验证。我没有AWS账户,我希望坚持使用访客/匿名访问。 有没有人有一个很好的解决方案/工具来遍历公共桶并以访客的身份获取内容?使用curl或wget的不同方法可以用于此类任务吗?

感谢。

2 个答案:

答案 0 :(得分:6)

对于AWS CLI,您需要提供--no-sign-request标记以跳过签名。例如:

> aws s3 ls landsat-pds
Unable to locate credentials. You can configure credentials by running "aws configure".
> aws s3 ls landsat-pds --no-sign-request
                           PRE L8/
                           PRE landsat-pds_stats/
                           PRE runs/
                           PRE tarq/
                           PRE tarq_corrupt/
                           PRE test/
2015-01-28 10:13:53      23764 index.html
2015-04-14 10:43:22         25 robots.txt
2016-07-13 12:53:31         38 run_info.json
2016-07-13 12:53:30   23971821 scene_list.gz

要将整个存储桶下载到目录中,您可以执行以下操作:

> mkdir landsat-pds
> aws s3 sync s3://landsat-pds landsat-pds --no-sign-request

答案 1 :(得分:0)

  • 我一直在接受
SSL validation failed for https://s3bucket.eu-central-1.amazonaws.com/?list-type=2&prefix=&delimiter=%2F&encoding-type=url [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)
  • 为了四处走动,我使用 --no-verify-ssl 那么
aws s3 ls s3bucket --no-sign-request --no-verify-ssl

... 成功