

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

# 验证使用 Snowball Edge 设备传输的数据
<a name="validation"></a>

接下来，您将找到有关如何 AWS Snowball Edge 验证数据传输的信息，以及您可以采取的手动步骤来帮助确保任务期间和之后的数据完整性。

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

在较高层面，对于每个文件（或大型文件的各个部分）都会创建这些校验和。对于 Snowball Edge，当你对设备上的存储桶运行以下 AWS CLI 命令时，这些校验和是可见的。这些校验和用于在整个传输过程中验证数据的完整性，能帮助确保数据正确复制。

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

如果这些校验和不匹配，关联数据将不会导入 Amazon S3。

## 本地文件清单和 Snowball Edge 数据传输
<a name="local-inventory-creation-during-snowball-transfer"></a>

使用 Amazon S3 适配器或 CLI 时，创建复制到 Snowball Edge 的文件的本地清单。本地清单的内容可以用来与本地存储器或服务器上的内容进行比较。

例如，

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

## Snowball Edge 出现数据验证错误的常见原因
<a name="validation-error-causes"></a>

在出现验证错误时，相应数据（一个文件或大型文件的一部分）就不会写入目的地。造成验证错误的常见原因如下：
+ 尝试复制符号链接。
+ 尝试复制正被修改的文件。该尝试未通过校验和验证，并被标记为传输失败。
+ 尝试复制大小超过 5 TB 的文件。
+ 尝试复制大小超过 5 GiB 的部分。
+ 尝试将文件复制到数据存储容量已满的 Snowball Edge 设备。
+ 尝试将文件复制到不遵守 Amazon S3 的[对象键命名指导原则](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html)的 Snowball Edge。

只要发生任何一个验证错误，它就会被记录下来。您可以执行相应步骤来手动识别未能通过验证的文件以及失败原因。有关信息，请参阅[将数据导入 Amazon S3 之后手动验证来自 Snowball Edge 设备的数据](#manual-validation-s3)。

## 将数据导入 Amazon S3 之后手动验证来自 Snowball Edge 设备的数据
<a name="manual-validation-s3"></a>

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

**检查作业完成报告和相关日志**  
每当对 Amazon S3 导入或导出数据时，您都将获得一个可下载的 PDF 作业报告。对于导入作业，该报告在导入过程结束时提供。有关更多信息，请参阅 [获取您的数据传输任务完成报告和日志](report.md)。

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

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

**使用 Amazon S3 同步命令**  
如果您的工作站可以连接到互联网，则可以通过运行 AWS CLI 命令对所有传输的文件进行最终验证`aws s3 sync`。此命令可同步目录和 S3 前缀。此命令以递归方式将源目录中的新文件和更新过的文件复制到目的地。有关更多信息，请参阅《AWS CLI 命令参考》**中的 [sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html)。

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