Snowball Edge 任务的数据验证 - Amazon Snowball Edge 开发人员指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Snowball Edge 任务的数据验证

下文提供有关如何执行的信息。Amazon SnowballEdge 验证数据传输,以及您可以在任务执行期间和之后用来帮助确保数据完整性的手动步骤。

所传输数据的校验和验证

当您使用 Amazon S3 接口将文件从本地数据源复制到 Snowball Edge 时,将创建一些校验和。这些校验和用于在数据传输期间自动验证数据。

在较高层面,对于每个文件 (或大型文件的各个部分) 都会创建这些校验和。对于 Snowball Edge,当您运行以下命令时,这些校验和是可见的。Amazon CLI针对设备上的存储桶的命令。这些校验和用于在整个传输期间验证数据的完整性,有助于确保数据正确复制。

aws s3api list-objects --bucket bucket-name --endpoint http://ip:8080 --profile edge-profile

如果这些校验和不匹配,相关数据不会导入到 Amazon S3 中。

Snowball 转移期间创建本地库存

使用 Amazon S3 界面或 CLI 时,创建复制到 Snowball 的文件的本地清单。本地清单的内容可用于与本地存储器或服务器上的内容进行比较。

例如,

aws s3 cp folder/ s3://bucket --recursive > inventory.txt

常见验证错误

发生验证错误时,相应数据(一个文件或大型文件的一部分)不会写入目的地。造成验证错误的常见原因如下:

  • 尝试复制符号链接。

  • 尝试复制正被修改的文件。尝试失败校验和验证,并标记为失败的传输。

  • 尝试复制大于 5 TB 的文件。

  • 尝试复制大小大于 512 MB 的部分。

  • 尝试将文件复制到数据存储容量已满的 Snowball Edge 设备。

  • 尝试将文件复制到不遵守的 Snowball Edge 设备对象键命名准则适用于 Amazon S3。

当发生任何一个验证错误时,它将被记录下来。您可以采取步骤手动标识哪些文件验证失败以及失败原因。有关信息,请参阅 导入 Amazon S3 后的 Snowball Edge 手动数据验证

导入 Amazon S3 后的 Snowball Edge 手动数据验证

导入任务完成后,您可以如下所述使用多种选项来手动验证 Amazon S3 中的数据。

检查任务完成报告和相关日志

每当对 Amazon S3 导入或导出数据时,您都将获得一个可下载的 PDF 任务报告。对于导入任务,该报告在导入过程结束时提供。有关更多信息,请参阅 在控制台上获取Job 完成报告和日志

S3 清单

如果您通过多个任务将大量数据传输到 Amazon S3 中,则浏览每一个任务完成报告可能效率不高。相反,您可以获取一个或多个 Amazon S3 存储桶中所有对象的清单。Amazon S3 清单每天或每周提供一个逗号分隔值 (CSV) 文件,它显示了您的对象及其相应的元数据。此文件包含 Amazon S3 存储桶或共享前缀的对象 (即,名称以通用字符串开头的对象)。

如果您获得了您向其中导入了数据的 Amazon S3 存储桶的清单,就可以轻松将它与您在源数据位置传输的文件进行比较。通过这种方法,您可以快速识别哪些文件未传输。

使用 Amazon S3 同步命令

如果您的工作站可以连接到 Internet,您可以运行 Amazon CLI 命令 aws s3 sync 对传输的所有文件执行最终验证。此命令可同步目录和 S3 前缀。此命令以递归方式将源目录中的新文件和更新过的文件复制到目的地。有关更多信息,请参阅 。同步中的Amazon CLI命令参考.

重要

如果您指定本地存储作为此命令的目的地,请确保您拥有所同步的文件的备份。这些文件将由指定 Amazon S3 源中的内容覆盖。