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

Object Storage Service:upload-part-copy

最終更新日:May 10, 2026

この操作は、既存のオブジェクトからデータをコピーしてフラグメントをアップロードします。

注意事項

  • 1 GB を超えるオブジェクトをコピーする場合は、upload-part-copy コマンドを使用する必要があります。1 回の操作で 1 GB 未満のオブジェクトをコピーする場合は、「copy-object」をご参照ください。

  • ソースバケットと送信先バケットは、同じリージョン内に存在している必要があります。

  • この操作を使用してフラグメントをアップロードする前に、まず initiate-multipart-upload コマンドを呼び出してアップロード ID を取得する必要があります。

権限

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

API

アクション

説明

UploadPartCopy

oss:GetObject

既存のオブジェクトからデータをコピーしてフラグメントをアップロードする際に、ソースオブジェクト内のデータを読み取ります。

oss:PutObject

既存のオブジェクトからデータをコピーしてフラグメントをアップロードする際に、送信先オブジェクトにデータを書き込みます。

oss:GetObjectVersion

既存のオブジェクトからデータをコピーしてフラグメントをアップロードする際に、versionId でオブジェクトのバージョンを指定した場合、指定されたバージョンのソースオブジェクトを読み取るための権限が必要です。

構文

ossutil api upload-part-copy --bucket value --key value --copy-source value --part-number value --upload-id value [flags]

パラメーター

タイプ

説明

--bucket

string

送信先バケットの名前です。

--key

string

送信先オブジェクトの完全なパスです。

--copy-source

string

コピー操作のソースアドレスです(ソースに対する読み取り権限が必要です)。形式は bucket/UrIEncode(key) であり、ソースオブジェクト名は URL エンコードされている必要があります。

--copy-source-if-match

string

ソースオブジェクトの ETag が指定された ETag と一致する場合にのみ、フラグメントをコピーします。一致しない場合は、412 Precondition Failed エラーが返されます。

--copy-source-if-modified-since

string

指定された時刻以降にソースオブジェクトが変更されている場合にのみ、フラグメントをコピーします。そうでない場合は、304 Not Modified エラーが返されます。

--copy-source-if-none-match

string

ソースオブジェクトの ETag が指定された ETag と一致しない場合にのみ、フラグメントをコピーします。一致する場合は、304 Not Modified エラーが返されます。

--copy-source-if-unmodified-since

string

指定された時刻以降にソースオブジェクトが変更されていない場合にのみ、フラグメントをコピーします。そうでない場合は、412 Precondition Failed エラーが返されます。

--copy-source-range

string

コピーするソースオブジェクトのバイト範囲です。

--part-number

string

フラグメント番号です。マルチパートアップロード内の各フラグメントに対して一意である必要があります。

--upload-id

string

マルチパートアップロードのアップロード ID です。

説明
  • upload-part-copy コマンドは、UploadPartCopy API オペレーションをラップしています。API パラメーターの詳細については、「UploadPartCopy」ドキュメントをご参照ください。

  • サポートされているグローバルコマンドラインオプションの詳細については、「グローバルコマンドラインオプション」をご参照ください。

使用例

  • srcbucket バケット内の srcobject の現在のバージョンからデータをコピーしてフラグメントをアップロードします。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1
  • データをコピーしてフラグメントをアップロードし、出力を JSON 形式でフォーマットします。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --output-format json
  • データをコピーしてフラグメントをアップロードし、出力を YAML 形式でフォーマットします。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --output-format yaml
  • ソースオブジェクトの特定のバイト範囲(0 ~ 9)をコピーしてフラグメントをアップロードします。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --copy-source-range bytes=0-9
  • ソースオブジェクト srcobject の ETag が 123 と一致する場合にのみ、データをコピーしてフラグメントをアップロードします。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --copy-source-if-match 123
  • ソースオブジェクト srcobject"Mon, 11 May 2020 08:16:23 GMT" 以降に変更されていない場合にのみ、データをコピーしてフラグメントをアップロードします。

    ossutil api upload-part-copy --bucket examplebucket --key exampleobject --copy-source /srcbucket/srcobject --upload-id 123 --part-number 1 --copy-source-if-unmodified-since "Mon, 11 May 2020 08:16:23 GMT"