如何下载 S3 公共数据集的副本?

tri*_*eee 4 linux file-transfer amazon-s3

我天真地假设我可以做类似的事情

s3cmd sync s3://snap-d203feb5 /var/tmp/copy
Run Code Online (Sandbox Code Playgroud)

但我似乎对如何解决这个问题有错误的想法。我什至不能让一件简单的事情工作;

vnix$ s3cmd ls s3://snap-d203feb5
Bucket 'snap-d203feb5':
ERROR: Bucket 'snap-d203feb5' does not exist
Run Code Online (Sandbox Code Playgroud)

我想我拥有的标识符不是用于“存储桶”而是用于“公共数据集”。我如何从一个到另一个?我是否必须启动 EC2 实例并为此创建一个存储桶?如何?http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/using-public-data-sets.html 上的说明似乎假设我想在 EC2 实例中使用数据,但在这种情况下,我会只是喜欢浏览一下,至少是一个开始。

顺便说一句,复制/粘贴“US Snapshot ID”会导致 Python 令人讨厌的回溯;他们用一个奇怪的 Unicode(我认为)破折号发布 ID,该破折号不能直接复制/粘贴。我复制的时候有错误吗?那里的“美国”有什么意义?北美以外的数据不能用吗??

Ste*_*pel 6

公共数据集并非托管在Amazon S3 上,而是作为Amazon Elastic Block Store (EBS)快照提供。虽然这些实际上存储在 S3 上,但无法直接访问此类快照,您需要从中创建新的EBS 卷并将其附加到Amazon EC2实例以供您自行决定进一步处理。

仅浏览数据集当然是一个合理的用例,不幸的是,您目前无法避免使用 EC2 实例和 EBS 卷 - 请参阅它的工作原理部分了解详细信息:

精选的公共数据集作为 Amazon Elastic Block Store (Amazon EBS) 快照免费托管在 Amazon EC2 上。Amazon EC2 客户可以通过使用公共数据集快照作为起点创建自己的个人 Amazon EBS 卷来访问这些数据。然后,他们可以直接使用他们的 Amazon EC2 实例访问、修改这些卷并执行计算 [...]

要开始使用 AWS 上的公共数据集,只需执行以下三个简单步骤:

  1. 注册一个 Amazon EC2 账户。
  2. 启动 Amazon EC2 实例。
  3. 使用上面目录中为您选择的快照列出的快照 ID 创建一个 Amazon EBS 卷。

您已链接的文档中详细说明了如何执行这些步骤,即启动实例创建公共数据集卷

一旦您像这样可用,您当然可以将数据集存储在您的 S3 存储桶中。