Wget公共s3桶

时间:2016-10-25 18:34:17

标签: xml amazon-web-services amazon-s3 wget

我想在没有AWS访问密钥的情况下下载this public s3 bucket 中的所有文件(因为这是其他人必须遵循的教程的一部分)。每个组成文件(example)都可以单独下载。

1 个答案:

答案 0 :(得分:1)

你没有走轻松的路:

  1. 您需要获取存储桶中的密钥(即文件)
  2. 您可以使用rest API并按照以下方式提出请求

        curl -H "GET /?list-type=2 HTTP/1.1" \
        -H "Host: halitereplaybucket.s3.amazonaws.com" \
        -H "Date: 20161025T124500Z" \
        -H "Content-Type: text/plain" https://halitereplaybucket.s3.amazonaws.com/
    

    这将以xml格式返回包含内容和桶中所有键的响应。

    1. 您需要解析响应并提取所有键

    2. 对于每个键,您可以发出下载文件的请求

      wget 'http://halitereplaybucket.s3.amazonaws.com/{file}'
      
    3. 我知道您提到您不想使用AWS密钥,但使用CLI它会像

      一样简单
      aws s3 sync s3://halitereplaybucket .