データを部品単位でObject Storage Service (OSS) にアップロードする前に、マルチパートアップロードタスクを開始します。
使用上の注意
InitiateMultipartUpload操作を呼び出すと、OSSはマルチパートアップロードタスクを識別するための一意のアップロードIDを作成して返します。 このアップロードIDを使用して、マルチパートアップロードタスクの停止やクエリなどの操作を開始できます。
オブジェクトをアップロードするマルチパートアップロードリクエストを開始しても、同じ名前の既存のオブジェクトは影響を受けません。
InitiateMultipartUpload操作には
が必要ですか? uploads
をCanonicalizedResource
に表示して、認証署名の計算を実装します。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ヘッダーを指定すると、OSSの1秒あたりのクエリ (QPS) パフォーマンスが低下する可能性があります。 多数のリクエスト (QPSが1,000を超える) にx-oss-forbid-overwriteヘッダーを指定する場合は、テクニカルサポートにお問い合わせください。 |
x-oss-server-side-encryption | String | アップロードするオブジェクトの各部分を暗号化するために使用されるサーバー側の暗号化方法。 有効な値:AES256 と KMS 重要 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になります。 有効な値:
ストレージクラスの詳細については、「概要」をご参照ください。 |
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
エラーコード
エラーコード | HTTPステータスコード | 説明 |
InvalidEncryptionAlgorithmError | 400 | AES 256とKMS以外のサーバー側暗号化方式 が指定されます。 |
InvalidArgument | 400 | x-oss-server-side-encryptionヘッダーは、パーツがアップロードされるたびに指定されます。 |
InvalidArgument | 400 | アップロードするオブジェクトの指定されたストレージクラスが無効です。 |
KmsServiceNotEnabled | 403 | サーバー側の暗号化方式としてKMSが指定されていますが、KMSは有効化されていません。 |
FileAlreadyExists | 409 |
|