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

Object Storage Service:InitiateMultipartUpload

最終更新日:Apr 01, 2026

マルチパートアップロードを使用してデータをアップロードするには、まず InitiateMultipartUpload 操作を呼び出して、OSS でマルチパートアップロードタスクを開始します。

注意事項

  • この操作は、マルチパートアップロードタスクを識別する、グローバルに一意のアップロード ID を OSS から返します。この ID は、アップロードの中止やクエリなど、後続の操作で使用できます。

  • InitiateMultipartUpload リクエストは、同じ名前の既存のオブジェクトには影響しません。

  • InitiateMultipartUpload 操作の認証署名を計算する場合、CanonicalizedResource?uploads を追加する必要があります。

  • マルチパートアップロードタスクを開始するには、oss:PutObject 権限が必要です。詳細については、「RAM ユーザーへのカスタムポリシーの付与」をご参照ください。

権限

デフォルトでは、Alibaba Cloud アカウントは完全な権限を持っています。Alibaba Cloud アカウント配下の Resource Access Management (RAM) ユーザーまたは RAM ロールは、デフォルトではいかなる権限も持っていません。Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。

API

アクション

説明

InitiateMultipartUpload

oss:PutObject

マルチパートアップロードタスクを初期化します。

oss:PutObjectTagging

マルチパートアップロードタスクを初期化する際に、x-oss-tagging を通じてオブジェクトタグを指定する場合、この権限が必要です。

kms:GenerateDataKey

オブジェクトをアップロードする際に、オブジェクトのメタデータに X-Oss-Server-Side-Encryption: KMS が含まれている場合、これら 2 つの権限が必要です。

kms:Decrypt

リクエスト構文

POST /ObjectName?uploads HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT date
Authorization: SignatureValue

リクエストヘッダー

InitiateMultipartUpload リクエストは、Cache-ControlContent-DispositionContent-EncodingContent-TypeExpires などの標準 HTTP リクエストヘッダー、および x-oss-meta- プレフィックスが付いたカスタムヘッダーをサポートします。詳細については、「PutObject」をご参照ください。

ヘッダー

タイプ

説明

Cache-Control

String

オブジェクトがダウンロードされる際の Web ページのキャッシュ動作を指定します。詳細については、RFC 2616 をご参照ください。

デフォルト値:なし

Content-Disposition

String

オブジェクトがダウンロードされる際のオブジェクト名を指定します。詳細については、RFC 2616 をご参照ください。

デフォルト値:なし

Content-Encoding

String

オブジェクトがダウンロードされる際のコンテンツのエンコード形式を指定します。詳細については、RFC 2616 をご参照ください。

デフォルト値:なし

Expires

String

有効期限。詳細については、RFC 2616 をご参照ください。

デフォルト値:なし

x-oss-forbid-overwrite

String

同じ名前のオブジェクトを上書きするかどうかを指定します。送信先バケットでバージョン管理が有効または一時停止されている場合、x-oss-forbid-overwrite リクエストヘッダーは無視され、オブジェクトは上書きできます。

  • x-oss-forbid-overwrite を指定しないか、x-oss-forbid-overwritefalse に設定した場合、同じ名前のオブジェクトを上書きできます。

  • x-oss-forbid-overwritetrue に設定すると、同じ名前のオブジェクトの上書きが禁止されます。

x-oss-forbid-overwrite リクエストヘッダーを設定すると、秒間クエリ数 (QPS) のパフォーマンスが低下します。そのため、x-oss-forbid-overwrite リクエストヘッダーを必要とする操作が多数ある場合 (QPS > 1000)、ビジネスへの影響を避けるためにテクニカルサポートにご連絡ください。

x-oss-server-side-encryption

String

オブジェクトの各パートに対するサーバー側暗号化アルゴリズム。

有効な値:AES256KMS

重要

KMS 暗号化を使用するには、Key Management Service (KMS) をアクティベートする必要があります。

リクエストでこのヘッダーを指定すると、OSS はレスポンスにこのヘッダーを含めます。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:低頻度アクセス

  • Archive

  • ColdArchive

  • DeepColdArchive

    重要

    アップロード時にストレージクラスをディープコールドアーカイブに設定すると、より高い PUT リクエスト料金 が発生します。オブジェクトのアップロード時にはストレージクラスを標準に設定し、ライフサイクルルールを設定して標準オブジェクトのストレージクラスをディープコールドアーカイブに変換することを推奨します。これにより、PUT リクエスト料金を削減できます。

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

x-oss-tagging

String

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

説明

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

x-oss-object-worm-mode

String

オブジェクトの保持ポリシーモード。値を COMPLIANCE に設定します。このヘッダーは、オブジェクトレベルの保持ポリシー (ObjectWorm) が有効になっているバケットでのみ有効です。このヘッダーを指定する場合は、x-oss-object-worm-retain-until-date も指定する必要があります。

x-oss-object-worm-retain-until-date

String

オブジェクトの保持期限日。値は ISO 8601 形式である必要があります。このヘッダーは、オブジェクトレベルの保持ポリシー (ObjectWorm) が有効になっているバケットでのみ有効です。指定された有効期限日より前に、オブジェクトを削除または上書きすることはできません。このヘッダーが指定されていない場合、バケットのデフォルトの保持ルールが設定されていれば、アップロードされたオブジェクトに適用されます。

リクエストパラメーター

encoding-type クエリパラメーターを使用して、レスポンス内のオブジェクトキーをエンコードします。

パラメーター

タイプ

説明

encoding-type

String

レスポンス内のオブジェクトキーのエンコード方式を指定します。URL エンコードのみがサポートされています。オブジェクトキーは UTF-8 です。ただし、XML 1.0 標準では、ASCII 値が 0 から 10 の文字などの特定の制御文字はサポートされていません。オブジェクトキーにこのような文字が含まれている場合は、encoding-type を指定してレスポンス内のオブジェクトキーをエンコードします。

デフォルト値:なし

有効な値:url

レスポンス要素

OSS が InitiateMultipartUpload リクエストを受信すると、XML 形式のレスポンスボディを返します。レスポンスボディには、BucketKey、および UploadId 要素が含まれます。

要素

タイプ

説明

InitiateMultipartUploadResult

コンテナ

InitiateMultipartUpload リクエストの結果のコンテナ。

子要素:Bucket、Key、UploadId、および EncodingType

親要素:なし

Bucket

String

マルチパートアップロードタスクが開始されたバケットの名前。

親要素:InitiateMultipartUploadResult

Key

String

マルチパートアップロードタスクのオブジェクトの名前。

親要素:InitiateMultipartUploadResult

UploadId

String

マルチパートアップロードタスクを識別する一意の ID。この ID は、後続の UploadPart および CompleteMultipartUpload 操作の呼び出しに必要です。

親要素:InitiateMultipartUploadResult

EncodingType

String

レスポンスで使用されるエンコードタイプ。リクエストで encoding-type を指定した場合、レスポンスの Key 要素はエンコードされます。

親要素:InitiateMultipartUploadResult

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

  • リクエスト例

    POST /multipart.data?uploads HTTP/1.1 
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
    Date: Wed, 22 Feb 2012 08:32:21 GMT 
    x-oss-storage-class: Archive
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
  • レスポンス例

    HTTP/1.1 200 OK
    Content-Length: 230
    Server: AliyunOSS
    Connection: keep-alive
    x-oss-request-id: 42c25703-7503-fbd8-670a-bda01eae****
    Date: Wed, 22 Feb 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

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

ossutil CLI

InitiateMultipartUpload 操作に対応する ossutil コマンドについては、「initiate-multipart-upload」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

InvalidEncryptionAlgorithmError

400

AES256KMS 以外のサーバー側暗号化アルゴリズムが指定されています。

InvalidArgument

400

パートをアップロードするリクエストで x-oss-server-side-encryption リクエストヘッダーが指定されています。

InvalidArgument

400

指定されたストレージクラスが無効です。

KmsServiceNotEnabled

403

暗号化アルゴリズムとして KMS が指定されていますが、Key Management Service (KMS) がアクティベートされていません。

FileAlreadyExists

409

このエラーは、以下のいずれかの理由で返されます:

  • リクエストに x-oss-forbid-overwrite: true ヘッダーが含まれていますが、同じ名前のオブジェクトがバケットにすでに存在します。

  • バケットで階層型名前空間機能が有効になっており、指定されたオブジェクト名が既存のディレクトリと競合しています。