首页 文章

访问aws s3公共存储桶

提问于
浏览
1

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

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

从其他StackOverflow问题我发现我需要使用REST endpoints 并使用AWS CLI或Cyberduck之类的工具,但我还不能让它们工作 .

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

谢谢 .

1 回答

  • 4

    对于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
    

相关问题