Storage Transfer Service 使用源存储系统提供的元数据(例如校验和与文件大小),以确保将读取自来源的数据写入 Cloud Storage。
当校验和元数据可用时
如果来源存储系统上的校验和元数据指示 Storage Transfer Service 收到的数据与源数据不匹配,则 Storage Transfer Service 会记录转移操作的失败。包含校验和元数据的存储系统示例包括大多数 Amazon Simple Storage Service (Amazon S3) 和 Microsoft Azure Blob Storage 对象(存在一些例外情况)和 HTTP 转移作业(校验和元数据由用户提供)。
当校验和元数据不可用时
当代理可以在来源附近运行时
如果底层来源存储系统中没有提供校验和元数据,但代理可以在来源存储系统附近在本地运行,则 Storage Transfer Service 会尝试读取源数据并计算校验和,然后再将数据发送到 Cloud Storage。在将数据从文件系统转移到 Cloud Storage 时,会发生这种情况。
当代理无法在来源附近运行时
如果底层来源存储系统中没有提供校验和元数据,并且代理无法在来源存储系统附近在本地运行,则在数据到达 Cloud Storage 之前,Storage Transfer Service 无法计算校验和。在此场景中,Storage Transfer Service 会复制数据,但无法执行端到端数据完整性检查,以确认收到的数据与源数据相同。相反,Storage Transfer Service 会“尽力”尝试使用可用的元数据(例如文件大小)来验证复制到 Cloud Storage 的文件是否与源文件匹配。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-08。"],[],[],null,["# Data integrity\n\nStorage Transfer Service uses metadata available from the source storage system,\nsuch as checksums and file sizes, to ensure that data written to\nCloud Storage is the same data read from the source.\n\nWhen checksum metadata is available\n-----------------------------------\n\nIf the checksum metadata on the source storage system indicates that the data\nStorage Transfer Service received doesn't match the source data,\nStorage Transfer Service records a failure for the transfer operation. Examples\nof storage systems that include checksum metadata include most Amazon Simple Storage Service (Amazon S3)\nand Microsoft Azure Blob Storage objects ([with some exceptions](#metadata-unavailable-no-agents))\nand HTTP transfers (checksum metadata are provided by the user).\n\nWhen checksum metadata is unavailable\n-------------------------------------\n\n### When agents can run near the source\n\nIf checksum metadata isn't available from the underlying source storage system\nbut [agents](/storage-transfer/docs/managing-on-prem-agents) can be run locally\nnear the source storage system, Storage Transfer Service attempts to read the\nsource data and compute a checksum before sending the data to\nCloud Storage. This occurs when moving data from file systems to\nCloud Storage.\n\n### When agents can't run near the source\n\nIf checksum metadata isn't available from the underlying source storage system,\nand agents can't be run locally near the source storage system,\nStorage Transfer Service can't compute a checksum until the data arrives in\nCloud Storage. In this scenario, Storage Transfer Service copies the\ndata but can't perform end-to-end data integrity checks to confirm that the\ndata received is the same as the source data. Instead, Storage Transfer Service\nattempts a \"best effort\" approach by using available metadata, such as file\nsize, to validate that the file copied to Cloud Storage matches the\nsource file.\n\nFor example, Storage Transfer Service uses file sizes to validate data for:\n\n- [Amazon S3 multi-part objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html)\n\n- [Amazon S3 objects stored with server-side encryption with keys stored in AWS Key Management Service (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html)\n\n- [Microsoft Azure Blob Storage Put Block List](https://docs.microsoft.com/en-us/rest/api/storageservices/put-block-list)\n\nAfter transfer checks\n---------------------\n\nAfter your transfer is complete, we recommend performing additional data\nintegrity checks to validate that:\n\n- The correct version of the files are copied, for files that change at the source.\n- The correct set and number of files are copied, to verify that you've set up the transfer jobs correctly.\n- The files were copied correctly, by verifying the metadata on the files, such as file checksums, file size, and so forth."]]