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

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

从 Amazon S3 导出作业

注意

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

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

可以为每个导出作业导出任意数目的对象,使用的设备数目与为完成传输而使用的设备数目相同。导出作业作业部分的每个 Amazon Snowball Edge 设备会逐个送达,在上一个作业部分进入运往 Amazon 途中状态后,将会向您发送后续设备。

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

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 细节的更多信息,请参阅 Wikipedia 上的 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 二进制值,car 排序在 Car 下面。

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

假设您有这三个存储桶,并且想要从 folder2 中复制所有对象。

  • s3://bucket/folder1/

  • s3://bucket/folder2/

  • s3://bucket/folder3/

指定的范围开始 指定的范围结束 要导出的范围中的对象
folder2/ folder2/ 存储桶 folder2 中的所有对象。

导出作业最佳实操

  • 确保数据在 Amazon S3 中,在预定作业之前批量处理小文件

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

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

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

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

  • 不会导出删除标记。