如何为 Snowball 导出作业指定多个 Amazon S3 对象前缀?

上次更新时间:2020 年 3 月 12 日

我想为我的 AWS Snowball 导出作业指定多个 Amazon Simple Storage Service (Amazon S3) 对象密钥名称前缀。但是,当我创建带有多个前缀的 Snowball 导出作业时,我看到前缀范围内只有部分文件被复制。为什么会发生这种情况?

解决方法

对于每个 S3 存储桶,Snowball 导出作业仅支持一个前缀范围。要复制多个前缀中的所有对象,您必须指定范围,以便涵盖您要复制的所有对象密钥名称前缀。如果使用 AWS 命令行接口 (AWS CLI) 来创建导出作业,则必须确认在 KeyRange 内指定的 BeginMarkerEndMarker 包含您要复制的所有前缀。

注意:如果指定多个 BeginMarker 或 EndMarker 值,AWS CLI 不会返回错误,但是这样做会导致不完整的复制操作。

如果您指定的前缀范围(密钥范围)导致了不完整的复制操作,可以:

  • 将其余对象复制到另一个 S3 存储桶。您可以选择使用整个存储桶导出其余数据,也可选择使用单个 BeginMarker 或 EndMarker 将其余对象导出至某个前缀范围。您需要为 PUT、COPY 和 LIST 请求付费。
  • 如果您无法将其余对象复制到另一个 S3 存储桶,则必须取消不完整的导出作业。然后,另外创建一个导出作业来复制其余对象或前缀。
    提醒:比起将其余对象复制到另一个存储桶,此选项成本更高。

这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?