すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:InitiateMultipartUpload

最終更新日:Feb 23, 2024

データを部品単位でObject Storage Service (OSS) にアップロードする前に、マルチパートアップロードタスクを開始します。

使用上の注意

  • InitiateMultipartUpload操作を呼び出すと、OSSはマルチパートアップロードタスクを識別するための一意のアップロードIDを作成して返します。 このアップロードIDを使用して、マルチパートアップロードタスクの停止やクエリなどの操作を開始できます。

  • オブジェクトをアップロードするマルチパートアップロードリクエストを開始しても、同じ名前の既存のオブジェクトは影響を受けません。

  • InitiateMultipartUpload操作にはが必要ですか? uploadsCanonicalizedResourceに表示して、認証署名の計算を実装します。

  • InitiateMultipartUpload操作を呼び出すには、oss:PutObject権限が必要です。 詳細については、「RAMポリシーの一般的な例」をご参照ください。

リクエスト構文

POST /ObjectName? HTTP/1.1のアップロード
ホスト: BucketName.oss-cn-hangzhou.aliyuncs.com
日付: GMT日付
権限付与: SignatureValue 

リクエストヘッダー

InitiateMultipartUploadリクエストは、x-oss-meta- で始まるカスタムヘッダーと、Cache-Control、Content-Disposition、Content-Encoding、Content-Type、Expiresの標準HTTPリクエストヘッダーをサポートしています。 詳細については、「PutObject」をご参照ください。

ヘッダー

データ型

説明

キャッシュ制御

String

オブジェクトがダウンロードされたときのwebページのキャッシュ動作。 詳細については、「RFC 2616」をご参照ください。

このヘッダーはデフォルトでは空です。

コンテンツ処理

String

オブジェクトがダウンロードされたときのオブジェクトの名前。 詳細については、「RFC 2616」をご参照ください。

このヘッダーはデフォルトでは空です。

コンテンツエンコーディング

String

オブジェクトがダウンロードされたときのオブジェクトのコンテンツエンコード形式。 詳細については、「RFC 2616」をご参照ください。

このヘッダーはデフォルトでは空です。

有効期限

Integer

キャッシュの有効期限。 単位:ミリ秒。 詳細については、「RFC 2616」をご参照ください。

このヘッダーはデフォルトでは空です。

x-oss-forbid-overwrite

String

InitiateMultipartUpload操作で、アップロードするオブジェクトと同じ名前の既存のオブジェクトを上書きするかどうかを指定します。 オブジェクトをアップロードするバケットのバージョン管理が有効または一時停止されている場合、x-oss-forbid-overwriteヘッダーは有効になりません。 その結果、InitiateMultipartUpload操作を呼び出してアップロードされたオブジェクトは、同じ名前の既存のオブジェクトを上書きします。

  • x-oss-forbid-overwriteヘッダーを指定しない場合、またはx-oss-forbid-overwriteヘッダーをfalseに設定すると、同じ名前の既存のオブジェクトが上書きされます。

  • x-oss-forbid-overwriteヘッダーをtrueに設定した場合、同じ名前の既存のオブジェクトは上書きできません。

x-oss-forbid-overwriteヘッダーを指定すると、OSSの1秒あたりのクエリ (QPS) パフォーマンスが低下する可能性があります。 多数のリクエスト (QPSが1,000を超える) にx-oss-forbid-overwriteヘッダーを指定する場合は、テクニカルサポートにお問い合わせください。

x-oss-server-side-encryption

String

アップロードするオブジェクトの各部分を暗号化するために使用されるサーバー側の暗号化方法。

有効な値:AES256KMS

重要

KMS暗号化方式を使用するには、キー管理サービス (KMS) が有効化されていることを確認します。

リクエストでこのヘッダーを指定すると、このヘッダーがレスポンスに含まれます。 OSSは、このヘッダーで指定されたメソッドを使用して、アップロードされた各パーツを暗号化します。 オブジェクトをダウンロードすると、x-oss-server-side-encryptionヘッダーがレスポンスに含まれ、ヘッダー値はオブジェクトの暗号化に使用されるメソッドに設定されます。

x-oss-server-side-encryption-key-id

String

KMSが管理するカスタマーマスターキー (CMK) のID。

このパラメーターは、x-oss-server-side-encryptionがKMSに設定されている場合にのみ有効です。

x-oss-storage-class

String

アップロードするオブジェクトのストレージクラス。

オブジェクトのアップロード時にストレージクラスを指定した場合、指定されたストレージクラスは、オブジェクトのアップロード先のバケットのストレージクラスに関係なく適用されます。 たとえば、低頻度アクセス (IA) バケットにオブジェクトをアップロードするときにx-oss-storage-classをStandardに設定した場合、アップロードされたオブジェクトのストレージクラスはStandardになります。

有効な値:

  • 標準

  • IA

  • アーカイブ

  • ColdArchive

ストレージクラスの詳細については、「概要」をご参照ください。

x-oss-tagging

String

オブジェクトのタグ。 オブジェクトに複数のタグを設定できます。 例: TagA=A&TagB=B。

説明

タグキーと値はURLエンコードされている必要があります。 タグに等号 (=) が含まれていない場合、タグ値は空の文字列と見なされます。

リクエストパラメーター

InitiateMultipartUpload操作を呼び出すと、リクエストでencoding-typeパラメーターを指定して、レスポンスで返されるオブジェクト名をエンコードできます。

パラメーター

データ型

説明

encoding-type

String

レスポンスでオブジェクト名をエンコードするために使用されるメソッド。 URLエンコードのみがサポートされています。 オブジェクト名には、UTF-8でエンコードされた文字を含めることができます。 ただし、XML 1.0標準を使用して、ASCII値が0から10の文字など、一部の制御文字を解析することはできません。 XML 1.0でサポートされていないコントロール文字がオブジェクト名に含まれている場合は、encoding-typeパラメーターを設定して、レスポンス内のオブジェクト名をエンコードします。

このヘッダーはデフォルトでは空です。

有効な値:url

レスポンスパラメーター

OSSがInitiateMultipartUploadリクエストを受信すると、XML形式のメッセージ本文を含むレスポンスが返されます。 メッセージ本文には、Bucket、Key、およびUploadIDのパラメーターが含まれます。

パラメーター

データ型

説明

InitiateMultipartUploadResult

Container

InitiateMultipartUploadリクエストの結果を格納するコンテナー。

子ノード: Bucket、Key、UploadId、EncodingType

親ノード: なし

Bucket

String

マルチパートアップロードタスクによってオブジェクトがアップロードされるバケットの名前。

親ノード: InitiateMultipartUploadResult

キー

String

マルチパートアップロードタスクによってアップロードされるオブジェクトの名前。

親ノード: InitiateMultipartUploadResult

UploadId

String

マルチパートアップロードタスクを一意に識別するアップロードID。 アップロードIDは、後でUploadPartおよびCompleteMultipartUploadを呼び出すために使用されます。

親ノード: InitiateMultipartUploadResult

EncodingType

String

レスポンス内のオブジェクト名のエンコードタイプ。 encoding-typeパラメーターがリクエストで指定されている場合、レスポンス内のオブジェクト名がエンコードされます。

親ノード: InitiateMultipartUploadResult

このAPI操作に含まれるレスポンスヘッダーには、共通のレスポンスヘッダーが含まれます。 詳細については、「共通HTTPヘッダー」をご参照ください。

説明

  • リクエストの例

    POST /multipart.data? HTTP/1.1のアップロード
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    日付: 2月22日水2012 08:32:21 GMT
    x-oss-storage-class: アーカイブ
    権限付与: OSS qn6qrrqxo2oawuk53otfjbyc:/cluRFtRwMTZpC2hTj4F67AG **** 
  • 正常に処理された場合のレスポンス例

    HTTP/1.1 200 OK
    コンテンツ-長さ: 230
    サーバー: AliyunOSS
    接続: キープアライブ
    x-oss-request-id: 42c25703-7503-fbd8-670a-bda01eae ****
    日付: 2月22日水2012 08:32:21 GMT
    Content-Type: application/xml
    <?xml version="1.0" encoding="UTF-8"?>
    <InitiateMultipartUploadResult xmlns="http://doc.oss-cn-hangzhou.aliyuncs.com">
        <Bucket>oss-example</Bucket>
        <Key>multipart.data</Key>
        <UploadId>0004B9894A22E5B1888A1E29F823 ****</UploadId>
    </InitiateMultipartUploadResult> 

SDK

次のプログラミング言語のOSS SDKを使用して、InitiateMultipartUpload操作を呼び出すことができます。

エラーコード

エラーコード

HTTPステータスコード

説明

InvalidEncryptionAlgorithmError

400

AES 256とKMS以外のサーバー側暗号化方式 が指定されます。

InvalidArgument

400

x-oss-server-side-encryptionヘッダーは、パーツがアップロードされるたびに指定されます。

InvalidArgument

400

アップロードするオブジェクトの指定されたストレージクラスが無効です。

KmsServiceNotEnabled

403

サーバー側の暗号化方式としてKMSが指定されていますが、KMSは有効化されていません。

FileAlreadyExists

409

  • リクエストにはx-oss-forbid-overwrite=trueヘッダーが含まれ、バケットにはアップロードするオブジェクトと同じ名前のオブジェクトが含まれます。

  • InitiateMultipartUploadを使用してアップロードするオブジェクトは、階層的な名前空間機能が有効になっているバケット内のディレクトリです。