本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭CompleteMultipartUpload
配 AWS 開發套件或 CLI 使用
下列程式碼範例會示範如何使用CompleteMultipartUpload
。
動作範例是大型程式的程式碼摘錄,必須在內容中執行。您可以在下列程式碼範例的內容中看到此動作:
- 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
。
上述命令中的 multipart upload 選項採用 JSON 結構,該結構描述了應重新組合到完整檔案中的多部分上傳部分。在此範例中,file://
前置詞用於從名為的本機資料夾中的檔案載入 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
-
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 的詳細資訊。