オブジェクトのマルチパートアップロードタスクを完了します。
使用方法
complete-multipart-upload コマンドを実行する場合は、各パートのフラグメント番号とエンティティタグ (ETag) を含む、すべての有効なパートの完全なリストを指定する必要があります。 PartNumber の値の範囲は 1 ~ 10,000 です。リクエストにリストされているフラグメント番号は連続していない場合がありますが、昇順でソートする必要があります。Object Storage Service (OSS) は各パートの有効性を順番に検証し、最後のパートを除く各パートのサイズが 100 KB 以上であるかどうかを確認します。すべてのパートが検証されると、OSS はこれらのパートを完全なオブジェクトに結合します。
OSS が CompleteMultipartUpload リクエストを処理するには、一定の時間がかかります。指定された時間内にクライアントが OSS から切断された場合、OSS はリクエストの処理を続行します。
独立したアップロード ID を持つ複数のアップロードタスクを実行することで、オブジェクトをアップロードできます。1 つのマルチアップロードタスクが完了すると、そのアップロード ID は無効になりますが、他のマルチアップロードタスクのアップロード ID は影響を受けません。
権限
デフォルトでは、Alibaba Cloud アカウントは、アカウント内のリソースに対するフル権限を持っています。一方、RAM ユーザーと Alibaba Cloud アカウントに関連付けられている RAM ロールは、最初は権限を持っていません。RAM ユーザーまたはロールを使用してリソースを管理するには、RAM ポリシーまたはバケットポリシーを使用して必要な権限を付与する必要があります。
API | アクション | 説明 |
CompleteMultipartUpload |
| 複数のパートを 1 つのオブジェクトに結合します。 |
| 複数のパートを 1 つのオブジェクトに結合するときに、 x-oss-tagging ヘッダーを使用してオブジェクトのタグを指定します。 |
構文
ossutil api complete-multipart-upload --bucket value --key value --upload-id value --complete-multipart-upload value [flags]パラメーター | タイプ | 説明 |
--bucket | string | オブジェクトをアップロードするバケットの名前。 |
--complete-all | string | 現在のアップロード ID を使用してアップロードされたすべてのパートをリストするかどうかを指定します。 |
--complete-multipart-upload | string | CompleteMultipartUpload リクエストの内容を格納するコンテナー。 |
--encoding-type | string | レスポンスのオブジェクト名のエンコーディングタイプ。 |
--forbid-overwrite | string | complete-multipart-upload コマンドが、アップロードするオブジェクトと同じ名前の既存のオブジェクトを上書きするかどうかを指定します。 |
--key | string | オブジェクトの完全なパス。 |
--upload-id | string | マルチパートアップロードタスクの ID。 |
complete-multipart-upload コマンドは、CompleteMultipartUpload 操作に対応しています。 CompleteMultipartUpload 操作のパラメーターの詳細については、「CompleteMultipartUpload」をご参照ください。
--complete-multipart-upload
--complete-multipart-upload オプションは、XML 形式と JSON 形式の両方をサポートしています。オプションの値に file:// プレフィックスが含まれている場合、構成は構成ファイルから読み取られます。
XML 形式:
<CompleteMultipartUpload> <Part> <PartNumber>integer</PartNumber> <ETag>string</ETag> </Part> ... </CompleteMultipartUpload>JSON 形式:
{ "Part": [ { "PartNumber": integer, "ETag": "string" }, ... ] }
サポートされているグローバルコマンドラインオプションの詳細については、「グローバルコマンドラインオプション」をご参照ください。
例
次の例では、マルチパートアップロードを使用して、 exampleobject オブジェクトを examplebucket バケットにアップロードする方法について説明します。マルチパートアップロードタスクのアップロード ID は 123 です。
complete-multipart-upload.xml という名前の XML 構成ファイルを作成し、次のコードを構成ファイルに追加します。
<?xml version="1.0" encoding="UTF-8"?> <CompleteMultipartUpload> <Part> <PartNumber>1</PartNumber> <ETag>"C884BAB4F7A89D38A194568C7DE****"</ETag> </Part> <Part> <PartNumber>2</PartNumber> <ETag>"C884BAB4F7A89D38A194568C7DEA****"</ETag> </Part> </CompleteMultipartUpload>
コマンド例:
ossutil api complete-multipart-upload --bucket examplebucket --key exampleobject --upload-id 123 --complete-multipart-upload file://complete-multipart-upload.xmlcomplete-multipart-upload.json という名前の JSON 構成ファイルを作成し、次のコードを構成ファイルに追加します。
{ "Part": [ { "PartNumber": "1", "ETag": "\"C884BAB4F7A89D38A194568C7DE****\"" }, { "PartNumber": "2", "ETag": "\"C884BAB4F7A89D38A194568C7DEA****\"" } ] }コマンド例:
ossutil api complete-multipart-upload --bucket examplebucket --key exampleobject --upload-id 123 --complete-multipart-upload file://complete-multipart-upload.json次のコマンドのパラメーターを JSON 形式で構成します。
ossutil api complete-multipart-upload --bucket examplebucket --key exampleobject --upload-id 123 --complete-multipart-upload file://complete-multipart-upload.json
次の例では、examplebucket バケットで、アップロード ID が 123 のすべてのアップロード済みパートをリストする方法について説明します。
ossutil api complete-multipart-upload --bucket examplebucket --key exampleobject --upload-id 123 --complete-all yes