マルチパートアップロード操作を開始した後に、指定されたオブジェクト名とアップロード ID に基づいて、パーツごとにデータをアップロードします。
使用方法
UploadPart 操作を呼び出してパーツごとにデータをアップロードする前に、InitiateMultipartUpload 操作を呼び出して、Object Storage Service (OSS) によって生成されたアップロード ID を取得する必要があります。
同じ partNumber を使用して新しいパーツをアップロードすると、partNumber を使用してアップロードされた既存のパーツが上書きされます。
OSS は、受信した各パーツの MD5 ハッシュをレスポンスの ETag ヘッダーに含めます。
InitiateMultipartUpload 操作の呼び出し時に x-oss-server-side-encryption リクエストヘッダーが指定されている場合、アップロードされたパーツは暗号化されます。 x-oss-server-side-encryption ヘッダーはレスポンスに含まれており、パーツのサーバー側暗号化アルゴリズムを示します。詳細については、「InitiateMultipartUpload」をご参照ください。
権限
デフォルトでは、Alibaba Cloud アカウントは、アカウント内のリソースに対するフル権限を持っています。一方、RAM ユーザーと Alibaba Cloud アカウントに関連付けられている RAM ロールは、最初は権限を持っていません。 RAM ユーザーまたはロールを使用してリソースを管理するには、RAM ポリシーまたはバケットポリシーを使用して必要な権限を付与する必要があります。
API | アクション | 説明 |
UploadPart |
| パーツをアップロードします。 |
リクエスト構文
PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: SignatureValueリクエストヘッダー
UploadPart リクエストのすべてのヘッダーは、共通のリクエストヘッダーです。詳細については、「共通リクエストヘッダー」をご参照ください。
リクエスト要素
要素 | タイプ | 必須 | 例 | 説明 |
partNumber | 正の整数 | はい | 1 | パーツを識別する番号。 有効値: 1 ~ 10000 パーツのサイズは 100 KB ~ 5 GB です。 説明 マルチパートアップロードでは、最後のパーツを除く各パーツのサイズは 100 KB 以上である必要があります。 UploadPart 操作の呼び出し時には、すべてのパーツがアップロードされるわけではなく、OSS はどのパーツが最後のパーツかを判断できないため、各パーツのサイズは検証されません。各パーツのサイズは、CompleteMultipartUpload 操作を呼び出すときにのみ検証されます。 |
uploadId | 文字列 | はい | 0004B9895DBBB6EC9**** | アップロードするパーツが属するオブジェクトを識別する ID。 |
レスポンスヘッダー
ヘッダー | タイプ | 例 | 説明 |
Content-MD5 | 文字列 | 1B2M2Y8AsgTpgAmY7PhC**** | パーツの MD5 ハッシュ。 重要 パーツの MD5 ハッシュは、クライアントがオブジェクトをアップロードした後に取得されます。レスポンスボディの MD5 ハッシュではありません。 |
x-oss-hash-crc64ecma | 文字列 | 316181249502703**** | パーツの CRC-64 値。 |
UploadPart リクエストへのレスポンスに含まれる Date や x-oss-request-id などの共通レスポンスヘッダーの詳細については、「共通 HTTP ヘッダー」をご参照ください。
例
リクエストの例
PUT /multipart.data?partNumber=1&uploadId=0004B9895DBBB6EC9**** HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 6291456
Date: Wed, 22 Feb 2012 08:32:21 GMT
Authorization: OSS qn6q**************:77Dv****************
[6291456 bytes data]レスポンスの例
HTTP/1.1 200 OK
Server: AliyunOSS
Content-length: 0
Connection: keep-alive
ETag: "7265F4D211B56873A381D321F586****"
x-oss-request-id: 3e6aba62-1eae-d246-6118-8ff42cd0****
Date: Wed, 22 Feb 2012 08:32:21 GMT
Content-MD5: 1B2M2Y8AsgTpgAmY7Ph****
x-oss-hash-crc64ecma: 316181249502703****
x-oss-server-time: 77OSS SDK
ossutil
UploadPart 操作に対応する ossutil コマンドの詳細については、「upload-part」をご参照ください。
エラーコード
エラーコード | HTTP ステータスコード | 説明 |
NoSuchUpload | 404 | 指定されたマルチパートアップロード ID が存在しません。 |
InvalidArgument | 400 | パーツ番号が 1 ~ 10000 の範囲内にありません。 |
InvalidDigest | 400 | リクエスト内の Content-MD5 値が、OSS によって計算された MD5 ハッシュと異なります。データ転送中のエラーを防ぐために、リクエストに Content-MD5 値を含めることができます。 OSS は、アップロードされたデータの MD5 ハッシュを計算し、リクエスト内の Content-MD5 値と比較します。これらの 2 つの値の不一致は、データ転送中にエラーが発生したことを示します。 |