本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
任务报告提供有关在任务执行期间 AWS DataSync 尝试传输、跳过、验证和删除的内容的详细信息。有关更多信息,请参阅 如何 DataSync 传输文件、对象和目录。
任务报告以 JSON 格式生成。您可以自定义报告的详细程度:
使用案例
下面是任务报告可以帮助您对数据传输进行监控和审计的一些情境:
-
迁移数百万个文件时,请快速识别传输 DataSync 有问题的文件。
-
验证文件的 chain-of-custody进程。
仅摘要任务报告
仅包含任务执行摘要的报告包括以下详细信息:
-
AWS 账户 运行任务执行的
-
源和目标位置
-
跳过、传输、验证和删除的文件、对象和文件夹总数
-
传输的总字节(逻辑字节和物理字节)
-
任务执行是否完成、取消或遇到错误
-
开始和结束时间(包括传输的总时间)
-
任务的设置(例如带宽限制、数据完整性验证和其他 DataSync 传输选项)
标准任务报告
标准任务报告包括任务执行摘要,以及有关 DataSync 尝试传输、跳过、验证和删除的内容的详细报告。
报告级别
使用标准任务报告,您可以选择以下报告级别之一:
-
仅错误
-
成功与错误(本质上是任务执行过程中所发生一切情况的列表)
例如,您可能想查看哪些文件在传输过程中成功 DataSync 跳过,哪些文件没有成功跳过。成功 DataSync 跳过的文件可能是您故意 DataSync 要排除的文件,因为它们已经存在于您的目标位置。但是,例如,跳过的错误可能表明该用户 DataSync 没有读取文件的正确权限。
传输报告
任务执行期间 DataSync 尝试传输的文件、对象和目录的列表。传输报告包括以下详细信息:
-
传输数据的路径
-
传输数据的内容(内容、元数据或两者兼而有之)
-
元数据,包括数据类型、内容大小(仅限对象和文件)等
-
项目被转移的时间
-
对象版本(当目标是启用了版本控制的 Amazon S3 存储桶时)
-
目标中的某些内容是否被覆盖
-
项目是否传输成功
注意
在 S3 存储桶之间移动数据时,您在源位置中指定的前缀可能会显示在您的报告(或 Amazon CloudWatch 日志中)中,即使该前缀不作为目标位置中的对象存在。(在 DataSync 控制台中,您可能还会注意到此前缀显示为已跳过或已验证的数据。)
跳过报告
在您的源位置 DataSync 找到但未尝试传输的文件、对象和目录的列表。 DataSync 跳过数据的原因可能取决于多种因素,例如如何配置任务和存储系统权限。下面是一些示例:
-
一个文件存在于源位置和目标位置。自上次执行任务以来,源位置的文件未被修改。由于您只传输已更改的数据,因此下次运行任务时 DataSync 不会传输该文件。
-
两个位置都存在的对象会在源中发生变化。运行任务时,会 DataSync 跳过目标中的此对象,因为您的任务不会覆盖目标中的数据。
-
DataSync 跳过源代码中使用存档存储类且未恢复的对象。您必须恢复已存档的对象 DataSync 才能读取它。
-
DataSync 跳过源位置中的文件、对象或目录,因为它无法读取它。如果发生这种情况但不是预料之中的,请检查存储空间的访问权限,并确保该权限 DataSync 可以读取跳过的内容。
跳过报告包括以下详细信息:
-
已跳过数据的路径
-
跳过某件项目的时间
-
被跳过的原因
-
项目是否成功跳过
注意
如果跳过报告包含成功和错误,您将任务配置为只传输已更改的数据,并且源数据已存在于目标位置,那么跳过报告可能会很大。
验证报告
在任务执行期间 DataSync 试图验证完整性的文件、对象和目录的列表。已验证数据的报告包括以下详细信息:
-
已验证数据的路径
-
项目得到验证的时间
-
验证错误的原因(如果有)
-
源校验和目标 SHA256 校验和(仅限文件)
-
项目是否成功验证
请注意以下有关已验证报告的内容:
删除报告
任务执行期间删除的文件、目录和对象的列表。 DataSync 仅当您将任务配置为删除目标位置中不在源中的数据时,才会生成此报告。已删除数据的报告包括以下详细信息:
-
已删除数据的路径
-
项目是否成功删除
-
删除项目的时间
示例任务报告
任务报告的详细程度由您决定。下面是一些采用以下配置的传输数据报告示例:
-
报告类型:标准
-
报告级别:成功和错误
注意
报告使用 ISO-8601 标准作为时间戳格式。时间采用 UTC 格式,以纳秒为单位。这种行为不同于其他一些任务报告指标的测量方式。例如,任务执行细节(例如 TransferDuration
和 VerifyDuration
)以毫秒为单位进行测量。
增强模式任务报告使用的架构与基本模式任务报告略有不同。根据您使用的任务模式,以下示例可以帮助您了解对报告的期望。
- 带有成功状态的已传输数据报告示例
-
以下报告显示名为的对象的成功传输
object1.txt
。{ "TaskExecutionId": "exec-abcdefgh12345678", "Transferred": [{ "RelativePath": "object1.txt", "SourceMetadata": { "Type": "Object", "ContentSize": 6, "LastModified": "2024-10-04T14:40:55Z", "SystemMetadata": { "ContentType": "binary/octet-stream", "ETag": "\"9b2d7e1f8054c3a2041905d0378e6f14\"", "ServerSideEncryption": "AES256" }, "UserMetadata": {}, "Tags": [] }, "Overwrite": "False", "DstS3VersionId": "jtqRtX3jN4J2G8k0sFSGYK1f35KqpAVP", "TransferTimestamp": "2024-10-04T14:48:39.748862183Z", "TransferType": "CONTENT_AND_METADATA", "TransferStatus": "SUCCESS" }] }
- 带有错误状态的传输数据报告示例
-
以下报告提供了何时 DataSync 无法传输名为的对象的示例
object1.txt
。此报告显示
object1.txt
由于 AWS KMS 权限问题而 DataSync 无法访问名为的对象。(如果您遇到此类错误,请参阅 使用服务器端加密访问 S3 存储桶。){ "TaskExecutionId": "exec-abcdefgh12345678", "Transferred": [{ "RelativePath": "object1.txt", "SourceMetadata": { "Type": "Object", "ContentSize": 6, "LastModified": "2022-10-07T20:48:32Z", "SystemMetadata": { "ContentType": "binary/octet-stream", "ETag": "\"3a7c0b2f1d9e5c4a6f8b2e0d1c9f7a3b2\"", "ServerSideEncryption": "AES256" }, "UserMetadata": {}, "Tags": [] }, "Overwrite": "False", "TransferTimestamp": "2022-10-09T16:05:11.134040717Z", "TransferType": "CONTENT_AND_METADATA", "TransferStatus": "FAILED", "ErrorCode": "AccessDenied", "ErrorDetail": "User: arn:aws:sts::111222333444:assumed-role/AWSDataSyncS3Bucket/AwsSync-loc-0b3017fc4ba4a2d8d is not authorized to perform: kms:GenerateDataKey on resource: arn:aws:kms:us-east-1:111222333444:key/1111aaaa-22bb-33cc-44d-5555eeee6666 because no identity-based policy allows the kms:GenerateDataKey action" }] }
限制
-
单个任务报告大小不能超过 5 MB。如果您要复制大量文件,您的任务报告可能会被拆分为多个报告。
-
在某些情况下,创建任务报告会影响数据传输的性能。例如,当网络连接延迟较高、传输的文件较小,或只复制元数据更改时,您可能会注意到这种情况。