从亚马逊 S3 导出任务 - Amazon Snowball Edge 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

从亚马逊 S3 导出任务

注意

目前不支持标签和元数据,换句话说,从 S3 存储桶导出对象时,所有标签和元数据都将被删除。

您的导出任务的数据源是一个或多个 Amazon S3 存储桶。将任务部分的数据从 Amazon S3 移动到之后Amazon Snowball Edge设备,你可以下载任务报告。此报告将提醒您无法传输到设备的所有对象。您可以在任务的成功日志和失败日志中查找更多信息。

您可以为每个导出任务导出任意数量的对象,使用任意数量的设备来完成传输。每个Amazon Snowball Edge用于导出任务的设备任务部件会陆续交付,后续设备将在前一个任务部分进入后发货给您正在运往Amazon状态。

当您使用 Amazon S3 适配器或 NFS 挂载点将对象从设备复制到本地数据目标时,这些对象将保存为文件。如果将对象复制到已包含文件的位置,则所有名称相同的现有文件都将被覆盖。导出任务类型也具有本地存储和计算功能。此功能使用文件接口或 Amazon S3 适配器来读取和写入数据,并根据本地运行的 Amazon S3 PUT 对象 API 操作触发 Lambda 函数Amazon Snowball Edge设备。

Amazon 收到寄回的设备后,我们将按照 NIST 800-88 标准对其执行完全擦除操作。

重要

要导出到 Snow 设备的数据必须在 Amazon S3 中。里面有任何数据Amazon S3 Glacier您计划导出到 Snow 设备的内容必须先解冻或移至 S3 存储类别,然后才能导出。在创建 Snow 导出任务之前执行此操作。

在您可以确认整个任务的所有内容均已复制到本地数据目标之前,请勿更改、更新或删除导出的 Amazon S3 对象。

创建导出任务时,您可以导出整个 Amazon S3 存储桶或特定范围的对象密钥。

使用导出范围

当您在中创建导出任务时Amazon Snow 系列管理控制台或者使用任务管理 API,您可以导出整个 Amazon S3 存储桶或特定范围的对象密钥。对象键名称唯一标识存储桶中的对象。如果导出特定范围的对象键,您可以通过提供包含范围的起始值和/或包含范围的结束值,来定义范围的大小。

范围按 UTF-8 二进制排序。UTF-8 二进制数据按下列方式排序:

  • 数字 0—9 位于大写和小写英文字符之前。

  • 大写英文字符在所有小写英文字符之前。

  • 根据大写英文字符和数字排序时,小写英文字符在最后。

  • 在其他字符集内排序特殊字符。

有关 UTF-8 细节的更多信息,请参阅维基百科上的 UTF-8

导出范围示例

假设您有一个包含以下对象和前缀的存储桶,这些对象和前缀按 UTF-8 二进制顺序排序:

  • 01

  • Aardvark

  • Aardwolf

  • Aasvogel/apple

  • aasvogel/arrow/Object1

  • aasvogel/arrow/Object2

  • Aasvogel/banana

  • aasvogel/Banker/Object1

  • aasvogel/Banker/Object2

  • Aasvogel/cherry

  • Banana

  • Car

指定范围开始 指定范围结束 将要导出的范围内的对象
(无) (无) 存储桶中的所有对象
(无) Aasvogel

01

Aardvark

Aardwolf

Aasvogel/apple

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/banana

aasvogel/Banker/Object1

aasvogel/Banker/Object2

Aasvogel/cherry

(无) Aasvogel/banana

01

Aardvark

Aardwolf

Aasvogel/apple

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/banana

Aasvogel (无)

Aasvogel/apple

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/banana

aasvogel/Banker/Object1

aasvogel/Banker/Object2

Aasvogel/cherry

Banana

Car

Aardwolf (无)

Aardwolf

Aasvogel/apple

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/banana

aasvogel/Banker/Object1

aasvogel/Banker/Object2

Aasvogel/cherry

Banana

Car

Aar (无)

Aardvark

Aardwolf

Aasvogel/apple

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/banana

aasvogel/Banker/Object1

aasvogel/Banker/Object2

Aasvogel/cherry

Banana

Car

car (无)

将不导出任何对象,且在您尝试创建任务时,会收到错误消息。请注意汽车在下面排序汽车根据 UTF-8 二进制值。

Aar Aarrr

Aardvark

Aardwolf

aasvogel/Arrow

aasvogel/arrox

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/apple Aasvogel/banana

Aasvogel/apple

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/banana

Aasvogel/apple aasvogel/Banker

Aasvogel/apple

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/banana

aasvogel/Banker/Object1

aasvogel/Banker/Object2

Aasvogel/apple Aasvogel/cherry

Aasvogel/apple

aasvogel/arrow/Object1

aasvogel/arrow/Object2

Aasvogel/banana

aasvogel/Banker/Object1

aasvogel/Banker/Object2

Aasvogel/cherry

假设您有这三个存储桶,并且想要从中复制所有对象文件夹 2

  • s3://bucket/folder1/

  • s3://bucket/folder2/

  • s3://bucket/folder3/

指定范围开始 指定范围结束 将要导出的范围内的对象
文件夹 2/ 文件夹 2/ 存储桶中的所有对象文件夹 2

导出工作最佳实践

  • 确保数据在 Amazon S3 中,在订购任务之前批量处理小文件

  • 如果您的存储桶中有数百万个对象,请确保在导出任务定义中指定密钥范围

  • 更新对象键以删除名称中的斜杠,因为名称中带有尾部斜杠(/或\)的对象不会传输到 Snowball Edge

  • 对于 S3 存储桶,对象长度限制为 255 个字符。

  • 对于启用版本控制的 S3 存储桶,仅导出对象的当前版本。

  • 不会导出删除标记。