マルチパート

対象リージョン:東日本第3/西日本第3

利用者が分割した大容量のオブジェクトを、1つのオブジェクトとしてアップロードできる機能を提供します。

マルチパートアップロードは5MB~5TBのオブジェクトに使用できます。

マルチパートアップロードする分割データのサイズは5MiB(5,242,880Byte)~5GiB(5,368,709,120Byte)までです。ただし、最後にアップロードされるデータサイズは5MiB未満でも構いません。なお、分割データはバイナリモードでバイト単位に分割してください。

注:
  • APIのリクエストには署名バージョン4の署名情報を付加する必要があります。署名情報の詳細については「署名情報」を参照してください。

  • 1つのバケットに対して同時に実行するマルチパートアップロードが1,000件を超えないようにしてください。

    1,000件を超えると、そのバケットに対する List Multipart Uploadsのクエリで完全な結果が返却されないことがあります。

  • マルチパートアップロードが15日以内に完了しない場合、関連するすべてのデータがシステムから削除されます。

  • 最後にアップロードする分割データ以外に5MiB未満のサイズのデータを指定した場合、マルチパートの完了処理でステータスコードは200ですが、同時に「Multipart part too small. All multipart parts must be 5 MiB or larger except for the last part which can be any size.」のメッセージが出力され、アップロードは失敗しています。

  • アップロードされた分割データの情報は、非同期でオブジェクトストレージ全体に同期されます。 そのため、アップロードされたすべての分割データの情報がオブジェクトストレージに完全に同期される前にマルチパートアップロードの完了を実行すると、InvalidPartエラーで失敗することがあります。 また、その際にステータスコードが200で返却されることがあります。

    パート番号と ETag値の組合せが正しいときに InvalidPartエラーで失敗した場合は、数秒待ってからマルチパートアップロードの完了を再実行してください。

提供機能

機能 説明
マルチパートアップロードの実行 マルチパートアップロードの開始

マルチパートアップロードに必要なアップロードIDを取得します。続けて、「分割したデータのアップロード」を実行してください。

アップロードIDはマルチパートアップロードにおいて一意です。

分割したデータのアップロード

分割したデータをアップロードします。アップロードIDと分割したデータごとに1~10000までの任意のパート番号が必要です。

分割したデータがアップロードされるたびに Etagヘッダーが返却されます。この ETag値とパート番号は、分割したデータの結合に必要です。

すべてのデータのアップロードが完了したら、「マルチパートアップロードの完了」を実行してください。

マルチパートアップロードの完了

アップロードされた分割データを結合し、1つのオブジェクトを作成します。データはパート番号の昇順に結合されます。アップロードIDと分割データのリスト(パート番号と ETag値の組合せ)が必要です。

マルチパートアップロードの中止

マルチパートアップロードを中止します。

マルチパートの一覧

マルチパートアップロードの実行でアップロードされた分割データを一覧表示します。

完了または中止されたマルチパートアップロードのアップロードIDを指定した場合は、以下のヘッダーが返却されます。

HTTP/1.1 404 Not Found

マルチパートによるオブジェクトのアップロード例

アクセスキー・シークレットキーの払い出しで払い出されたキーを使用してオブジェクトを作成します。

以下は、署名付きURLを利用してテナント(<TEST-TENANT>)内のバケット(<TEST-BUCKET>)に、分割したデータ(オブジェクト番号(<partNumber>)とアップロードID(<uploadId))を1つのオブジェクト(<TEST-OBJ>)としてアップロードする例です。署名付きURLについては署名情報を参照してください。

[root]# curl -v -X PUT https://objectstorage-s.jp-east-3.cloud.global.fujitsu.com/<TEST-BUCKET>/<TEST-OBJ>?partNumber=<partNumber>&uploadId=<uploadId><署名付きURL> -T <TEST-OBJ>
ヒント:

テナントの作成~オブジェクトのアップロードまでの主な流れ

テナントの作成 > グループの作成 > ユーザーの作成 > グループにユーザーを所属 > アクセスキー・シークレットキーの払い出し > バケットの作成 > オブジェクトのアップロードまたはオブジェクトを分割してアップロード

APIリファレンス

対象リージョン:東日本第3西日本第3

API詳細(Object)