オブジェクトの内容を変更せずに、同じ Object Storage Service (OSS) バケット内の別のディレクトリ、またはソースバケットと同じリージョンにある別のバケットにオブジェクトをコピーできます。ossutil の cp コマンドを使用してオブジェクトをコピーできます。
注意事項
オブジェクトをコピーするには、
oss:GetObject、oss:ListObjects、およびoss:PutObject権限が必要です。詳細については、「RAM ユーザーにカスタム権限を付与する」をご参照ください。cp コマンドを使用してオブジェクトをコピーできますが、パートはコピーできません。
デフォルトでは、タグとオブジェクト属性の両方がコピーされます。--copy-props オプションを使用して、属性とタグのコピールールを指定できます。
cp コマンドを使用して、Alibaba Cloud アカウントまたはリージョン間でオブジェクトをコピーすることはできません。Alibaba Cloud アカウントまたはリージョン間でオブジェクトをコピー (移行) する場合は、ossimport または データオンライン移行 を使用します。
構文
ossutil cp oss://src_bucket[/src_prefix] oss://dest_bucket[/dest_prefix] [flags]パラメーター | タイプ | 説明 |
src_bucket | string | 一覧表示するリソースが格納されているバケットの名前。 |
src_prefix | string | ソースオブジェクトが格納されているディレクトリ、またはソースオブジェクトの名前に含まれるプレフィックス。 |
dest_bucket | string | 一覧表示するリソースが格納されているバケットの名前。 |
dest_prefix | string | 宛先オブジェクトを格納するディレクトリ、または宛先オブジェクトの名前に含まれるプレフィックス。 |
--acl | string | オブジェクトのアクセス制御リスト (ACL)。有効な値:
|
--bigfile-threshold | int | マルチパートアップロード、ダウンロード、コピーのオブジェクトサイズのしきい値。デフォルト値: 104857600。 |
--cache-control | string | オブジェクトがダウンロードされるときの Web ブラウザーでのキャッシュ動作。 |
--checkers | int | 並列実行するチェッカーの数。デフォルト値: 16。 |
--checkpoint-dir | string | チェックポイント情報が格納されるディレクトリ。デフォルト値: |
--checksum | / | 次のいずれかの条件が満たされた場合にのみ、ソースオブジェクトがコピーされるように指定します: a. ソースオブジェクトのサイズが宛先オブジェクトのサイズと異なる。b. ソースオブジェクトの CRC-64 が宛先オブジェクトの CRC-64 と異なるが、ソースオブジェクトのサイズが宛先オブジェクトのサイズと同じである。このパラメーターは、オブジェクトのコピー操作にのみ有効です。 |
--content-disposition | string | オブジェクトの表示形式。 |
--content-encoding | string | オブジェクトのエンコーディングメソッド。 |
--content-type | string | オブジェクトのコンテンツタイプ。 |
--copy-props | string | ソースオブジェクトのコピー時に属性とタグをコピーするかどうかを指定します。有効な値:
|
-d, --dirs | string | すべてのサブディレクトリ内のすべてのオブジェクトを再帰的に表示するのではなく、現在のディレクトリ内のオブジェクトとサブディレクトリを一覧表示します。 |
--encoding-type | string | オブジェクト名のエンコードに使用されるエンコーディングメソッド。有効な値: url。 |
--end-with | string | 名前が指定された値 (包括的) より辞書順で前にあるオブジェクトに一致します。 |
--exclude | stringArray | パスまたはオブジェクト名の除外ルールを指定します。 |
--exclude-from | stringArray | ファイルから除外ルールを読み取ります。 |
--expires | stringArray | キャッシュされたコンテンツの絶対有効期限。 |
--files-from | stringArray | ファイルからソースオブジェクトのリストを読み取ります。空の行とコメント行は無視されます。 |
--files-from-raw | stringArray | ファイルからソースオブジェクトのリストを読み取ります。 |
--filter | stringArray | パスまたはオブジェクト名のフィルター ルールを指定します。 |
--filter-from | stringArray | ファイルからパスまたはオブジェクト名のフィルター ルールを読み取ります。 |
-f, --force | / | ユーザーの確認を必要とせずに操作を強制します。 |
--include | stringArray | パスまたはオブジェクト名の包含ルールを指定します。 |
--include-from | stringArray | ファイルから包含ルールを読み取ります。 |
-j, --job | int | 複数のオブジェクト間で実行できる同時タスクの数。デフォルト値: 3。 |
--list-objects | / | ListObjects 操作を呼び出してオブジェクトを一覧表示するように指定します。 |
--max-size | SizeSuffix | 転送できるファイルまたはオブジェクトの最大サイズ。デフォルトでは、サイズはバイト (B) 単位です。数値に 1024 ベースの単位を接尾辞として付けることができます: B はバイト、K はキビバイト、M はメビバイト、G はギビバイト、T はテビバイト、P はペビバイトです。 |
--metadata | strings | key=value 形式のオブジェクトのユーザーメタデータ。 |
--metadata-directive | string | 宛先オブジェクトのメタデータを設定するために使用されるメソッド。有効な値:
|
--metadata-exclude | stringArray | オブジェクトメタデータの除外ルール。 |
--metadata-filter | stringArray | オブジェクトメタデータのフィルター ルール。 |
--metadata-filter-from | stringArray | ファイルからメタデータフィルター ルールを読み取ります。 |
--metadata-include | stringArray | オブジェクトメタデータの包含ルール。 |
--min-age | Duration | 指定された時間間隔より前に変更されたファイルのみをコピーします。デフォルトの単位は秒です。単位の接尾辞を使用できます。たとえば、1h は 1 時間を示します。 説明
|
--max-age | Duration | 指定された時間間隔内に変更されたファイルのみをコピーします。デフォルトの単位は秒です。単位の接尾辞を使用できます。たとえば、1h は 1 時間を示します。 説明
|
--min-mtime | Time | 指定された時刻以降に変更されたファイルのみをコピーします。時刻の形式は UTC です。例: 2006-01-02T15:04:05。 説明
|
--max-mtime | Time | 指定された時刻より前に変更されたファイルのみをコピーします。時刻の形式は UTC です。例: 2006-01-02T15:04:05。 |
--min-size | SizeSuffix | 転送できるファイルまたはオブジェクトの最小サイズ。デフォルトでは、サイズはバイト (B) 単位です。数値に 1024 ベースの単位を接尾辞として付けることができます: B はバイト、K はキビバイト、M はメビバイト、G はギビバイト、T はテビバイト、P はペビバイトです。 |
--no-progress | / | 進行状況バーを表示しません。 |
--page-size | int | ページごとに返されるオブジェクトの最大数。デフォルト値: 1000。有効な値: 1 から 1000。 |
--parallel | int | 単一オブジェクトに対する内部操作の同時タスク数。 |
--part-size | SizeSuffix | パートサイズ。デフォルトでは、ossutil はオブジェクトサイズに基づいて適切なパートサイズを計算します。パートサイズの範囲は 100 KiB から 5 GiB です。 |
-r, --recursive | / | このパラメーターを指定すると、cp コマンドはバケット内の条件を満たすすべてのオブジェクトに適用されます。それ以外の場合、cp コマンドは指定されたパス内のオブジェクトにのみ適用されます。 |
--request-payer | string | リクエストの支払者。リクエスト元支払いモードが有効な場合は、このパラメーターを requester に設定します。 |
--size-only | / | ソースオブジェクトのサイズが宛先オブジェクトと異なる場合にのみ、ソースオブジェクトをコピーします。 |
--start-after | string | --start-after パラメーターの値の後にアルファベット順で名前が来るオブジェクトが返されるように指定します。 |
--storage-class | string | オブジェクトのストレージクラス。有効な値:
|
--tagging | strings | key=value ペアのオブジェクトタグ。 |
--tagging-directive | string | 宛先オブジェクトにタグを設定するために使用されるメソッド。有効な値:
|
-u, --update | / | 最終更新日時が宛先オブジェクトよりも新しい場合にのみ、ソースオブジェクトをコピーします。 |
--ignore-existing | / | 既存の宛先オブジェクトを無視します。 |
詳細については、「コマンドラインオプション」をご参照ください。
宛先オブジェクトの名前は、次のルールに従います:
ソースオブジェクトがコピーされ、dest_prefix パラメーターが指定されていない場合、宛先オブジェクトの名前はソースオブジェクトの相対パスになります。
ソースオブジェクトがコピーされ、dest_prefix パラメーターの値がスラッシュ (/) で終わる場合、宛先オブジェクトの名前は次の形式になります: dest_prefix パラメーターの値 + ソースオブジェクトの相対パス。
ソースオブジェクトがコピーされ、dest_prefix パラメーターの値がスラッシュ (/) で終わらない場合、宛先オブジェクトの名前は dest_prefix パラメーターの値になります。
複数のソースオブジェクトがコピーされ、dest_prefix パラメーターの値がスラッシュ (/) で終わる場合、宛先オブジェクトの名前は次の形式になります: dest_prefix パラメーターの値 + ソースオブジェクトの相対パス。
複数のソースオブジェクトがコピーされ、dest_prefix パラメーターの値がスラッシュ (/) で終わらない場合、宛先オブジェクトの名前は次の形式になります: dest_prefix パラメーターの値 + / + ソースオブジェクトの相対パス。
例
単一オブジェクトのコピー
ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/desfolder/増分オブジェクトのコピー
複数のオブジェクトをコピーするときに --update オプションを指定すると、ossutil は、宛先オブジェクトが存在しない場合、またはソースオブジェクトの最終更新日時が宛先オブジェクトよりも新しい場合にのみ、ソースオブジェクトをコピーします。次のコマンドを実行して、増分オブジェクトをコピーできます:
ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --updateこのオプションを使用すると、コピー済みのオブジェクトをスキップして、コピーに失敗したオブジェクトのみをコピーできます。
オブジェクトの名前変更
ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/example.txtcp コマンドを使用してオブジェクトの名前を変更すると、元のオブジェクトはまだ存在します。名前を変更した後、元のオブジェクトを削除できます。
オブジェクトのタグの変更
ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/ --tagging "abc=1&bcd=2&……"