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

Object Storage Service:InitiateMultipartUpload

最終更新日:Dec 06, 2025

InitiateMultipartUpload 操作を呼び出して、Object Storage Service (OSS) にデータをパート単位でアップロードする前に、マルチパートアップロードイベントを初期化できます。

注意事項

  • InitiateMultipartUpload 操作を呼び出すと、OSS はマルチパートアップロードイベントに対してグローバルに一意のアップロード ID を作成して返します。この ID を使用して、マルチパートアップロードの中止やクエリなどの関連操作を実行します。

  • マルチパートアップロードを初期化しても、同じ名前の既存のオブジェクトには影響しません。

  • InitiateMultipartUpload 操作を認証するための署名を計算するときは、CanonicalizedResource?uploads を追加します。

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

権限

デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。Alibaba Cloud アカウント下の 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-Control、Content-Disposition、Content-Encoding、Content-Type、Expires などの標準 HTTP リクエストヘッダー、および x-oss-meta- で始まるカスタムヘッダーをサポートします。詳細については、「PutObject」をご参照ください。

名前

タイプ

説明

Cache-Control

String

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

デフォルト値:なし

Content-Disposition

String

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

デフォルト値:なし

Content-Encoding

String

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

デフォルト値:なし

Expires

String

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

デフォルト値:なし

x-oss-forbid-overwrite

String

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

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

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

x-oss-forbid-overwrite リクエストヘッダーを設定すると、秒間クエリ数 (QPS) のパフォーマンスが低下します。x-oss-forbid-overwrite リクエストヘッダーを多くの操作 (QPS > 1,000) で使用する場合は、ビジネスの中断を防ぐためにテクニカルサポートにご連絡ください。

x-oss-server-side-encryption

String

オブジェクトの各パートを暗号化するために使用されるサーバー側暗号化方式。

有効な値:AES256KMS

重要

KMS 暗号化アルゴリズムを使用するには、まず Key Management Service (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 (低頻度アクセス)

  • Archive (アーカイブストレージ)

  • ColdArchive:コールドアーカイブ

  • DeepColdArchive:ディープコールドアーカイブ

    重要

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

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

x-oss-tagging

String

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

説明

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

リクエストパラメーター

リクエストで encoding-type パラメーターを指定して、レスポンス内のオブジェクト名をエンコードできます。

名前

タイプ

説明

encoding-type

String

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

デフォルト値:なし

有効な値:url

レスポンス要素

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

名前

タイプ

説明

InitiateMultipartUploadResult

コンテナー

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

子ノード:Bucket、Key、UploadId、および EncodingType

親ノード:なし

Bucket

String

マルチパートアップロードイベントのバケット名。

親ノード:InitiateMultipartUploadResult

Key

String

マルチパートアップロードイベントのオブジェクト名。

親ノード:InitiateMultipartUploadResult

UploadId

String

マルチパートアップロードイベントの一意の ID。後続の UploadPart および CompleteMultipartUpload の呼び出しでこの ID を使用します。

親ノード:InitiateMultipartUploadResult

EncodingType

String

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

親ノード: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 コマンドラインツール

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

エラーコード

エラーコード

HTTP ステータスコード

説明

InvalidEncryptionAlgorithmError

400

AES256、KMS 以外のサーバー側暗号化方式が指定されています。

InvalidArgument

400

各パートのアップロード時に x-oss-server-side-encryption リクエストヘッダーが追加されています。

InvalidArgument

400

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

KmsServiceNotEnabled

403

KMS 暗号化アルゴリズムが使用されていますが、コンソールで KMS が有効化されていません。

FileAlreadyExists

409

このエラーの原因として、次のことが考えられます。

  • リクエストに x-oss-forbid-overwrite=true ヘッダーが含まれており、同じ名前のオブジェクトの上書きが禁止されているにもかかわらず、バケット内に同じ名前のオブジェクトが既に存在します。

  • バケットで階層型名前空間機能が有効になっており、マルチパートアップロードイベントに指定されたオブジェクトがディレクトリです。