使用 AWS SDK 完成分段上传操作 - Amazon Simple Storage Service

使用 AWS SDK 完成分段上传操作

以下代码示例演示了如何完成分段上传操作。

操作示例是大型程序的代码摘录,必须在上下文中运行。您可以在以下代码示例中查看此操作的上下文:

CLI
AWS CLI

以下命令完成存储桶 my-bucket 中密钥 multipart/01 的分段上传:

aws s3api complete-multipart-upload --multipart-upload file://mpustruct --bucket my-bucket --key 'multipart/01' --upload-id dfRtDYU0WWCCcH43C3WFbkRONycyCpTJJvxu2i5GYkZljF.Yxwh6XG7WfS2vC4to6HiV6Yjlx.cph0gtNBtJ8P3URCSbB7rjxI5iEwVDmgaXZOGgkk5nVTW16HOQ5l0R

此命令所需的上传 ID 由 create-multipart-upload 输出,也可以使用 list-multipart-uploads 进行检索。

上述命令中的分段上传选项采用 JSON 结构,用于描述分段上传中应重新组合成完整文件的各个部分。在此示例中,file:// 前缀用于从名为 mpustruct 的本地文件夹中的文件加载 JSON 结构。

mpustruct:

{ "Parts": [ { "ETag": "e868e0f4719e394144ef36531ee6824c", "PartNumber": 1 }, { "ETag": "6bb2b12753d66fe86da4998aa33fffb0", "PartNumber": 2 }, { "ETag": "d0a0112e841abec9c9ec83406f0159c8", "PartNumber": 3 } ] }

每次使用 upload-part 命令上传分段时,都会输出每个分段的 ETag 值,也可以通过调用 list-parts 来检索,或者通过对每个分段进行 MD5 校验和执行计算。

输出:

{ "ETag": "\"3944a9f7a4faab7f78788ff6210f63f0-3\"", "Bucket": "my-bucket", "Location": "https://my-bucket.s3.amazonaws.com/multipart%2F01", "Key": "multipart/01" }
Rust
适用于 Rust 的 SDK
注意

在 GitHub 上查看更多内容。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

let _complete_multipart_upload_res = client .complete_multipart_upload() .bucket(&bucket_name) .key(&key) .multipart_upload(completed_multipart_upload) .upload_id(upload_id) .send() .await .unwrap();

有关 AWS SDK 开发人员指南和代码示例的完整列表,请参阅 将此服务与 AWS SDK 结合使用。本主题还包括有关入门的信息以及有关先前的 SDK 版本的详细信息。