オブジェクトをコピーするとバケット内のファイルがコピーされます。特定の状況では、コンテンツを変更せずにオブジェクトを別のバケットにコピーする必要があります。まず、オブジェクトをダウンロードして新しいバケットにオブジェクトをアップロードします。ただし、データは両方のオブジェクト この問題を克服するために OSS は、ユーザと OSS との間で大量のデータを送信する必要なしに、OSS 内のオブジェクトを直接コピーする CopyObject 機能を提供します。

さらに、OSS は名前の変更をサポートしていないため、オブジェクトの名前を変更するために OSS CopyObject インターフェイスが呼び出されることを推奨します。 つまり、最初に元のデータをオブジェクトにコピーし、新しい名前を付けて元のファイルを削除することができます。オブジェクトのオブジェクトメタ(オブジェクトメタデータ)のみを変更するには、CopyObject インターフェイスを呼び出して、宛先アドレスを同じ値に設定します。 このようにして、OSS はオブジェクトメタのみを更新します。 オブジェクトメタの詳細については、 オブジェクトメタ (ファイルのメタデータ)を参照してください。

オブジェクトをコピーする前に、次の注意事項に注意してください。

  • ソースオブジェクトを操作する権限が必要です。 それ以外の場合、操作は失敗します。
  • リージョン間でデータをコピーすることはできません。 たとえば、杭州のバケットのオブジェクトは青島のバケットにコピーできません。
  • 1 GB までのオブジェクトがサポートされています。
  • 追加されたオブジェクトはコピーできません。

参照:

大きなオブジェクトをコピーする

OSS は、再開可能なアップロードのような大きなファイルをコピーする機能をサポートしています。

唯一の違いは、プロセス UploadPart がプロセス UploadPartCopy に置き換えられていることです。

UploadPartCopy の構文は、UploadPart の構文に似ています。ただし、HTTP リクエストから直接アップロードされる代わりに、ソースオブジェクトからデータが取得されます。

参照: