オブジェクトの内容を変更せずに、同じリージョン内のソースバケットから宛先バケットに、または同じバケット内の別のフォルダにオブジェクトをコピーできます。ossutil cp コマンドを使用してオブジェクトをコピーします。
注意事項
オブジェクトをコピーするには、
oss:GetObject、oss:ListObjects、およびoss:PutObject権限が必要です。詳細については、「RAM ユーザーへのカスタム権限の付与」をご参照ください。オブジェクトのみコピーできます。マージされていないパートはコピーできません。
デフォルトでは、タグとオブジェクト属性がコピーされます。--copy-props オプションを使用して、プロパティとタグをコピーするためのルールを設定できます。
アカウント間およびリージョン間のコピー操作はサポートされていません。アカウントまたはリージョンをまたいでオブジェクトをコピーまたは移行するには、ossimport または データオンライン移行 を使用します。
コマンドのフォーマット
ossutil cp oss://src_bucket[/src_prefix] oss://dest_bucket[/dest_prefix] [flags]パラメーター | タイプ | 説明 |
src_bucket | 文字列 | ソースバケットの名前。 |
src_prefix | 文字列 | ソースバケット内のフォルダまたは指定されたプレフィックス。 |
dest_bucket | 文字列 | 宛先バケットの名前。 |
dest_prefix | 文字列 | 宛先バケット内のフォルダまたは指定されたプレフィックス。 |
--acl | 文字列 | オブジェクトのアクセス制御リスト (ACL)。有効な値:
|
--bandwidth-limit | SizeSuffix | ネットワーク帯域幅を制限して、データ転送速度を制御します。最小値は 1024 B/s です。デフォルトの単位は B/s です。 このパラメーターを設定するときは、B (バイト)、K (キロバイト)、M (メガバイト)、G (ギガバイト) などの帯域幅値の単位を指定できます。たとえば、50 M は 50 MB/s の帯域幅制限を指定します。 |
--bigfile-threshold | SizeSuffix | 大きいファイルのマルチパートアップロード、ダウンロード、またはコピーを有効にするためのしきい値。デフォルト値は 104857600 です。 |
--cache-control | 文字列 | オブジェクトのダウンロード時に Web ページのキャッシュ動作を指定します。 |
--checkers | int | 並列で実行されるチェッカーの数。デフォルト値は 16 です。 |
--checkpoint-dir | 文字列 | 再開可能な転送のチェックポイント情報を格納するディレクトリ。デフォルト値は |
--checksum | / | サイズまたはチェックサム (存在する場合) が宛先オブジェクトと異なるソースオブジェクトのみをコピーします。このオプションは、オブジェクト間のコピー操作でのみ有効です。 |
--content-disposition | 文字列 | オブジェクトの表示方法を指定します。 |
--content-encoding | 文字列 | オブジェクトのコーデックを指定します。 |
--content-type | 文字列 | オブジェクトのコンテンツタイプ。 |
--copy-props | 文字列 | オブジェクト間のコピー操作中にプロパティとタグをコピーするためのルールを設定します。次の設定がサポートされています:
|
-d, --dirs | 文字列 | 現在のディレクトリ内のファイルとサブディレクトリを処理しますが、すべてのサブディレクトリ内のすべてのファイルを再帰的に処理しません。 |
--encoding-type | 文字列 | 入力オブジェクト名またはファイル名のエンコーディングタイプ。有効な値: url。 |
--end-with | 文字列 | 指定された値とアルファベット順で同じか、それ以前のオブジェクトを返します。 |
--exclude | stringArray | パスまたはファイル名の除外ルール。 |
--exclude-from | stringArray | ルールファイルから除外ルールを読み取ります。 |
--expires | 文字列 | キャッシュされたコンテンツの絶対有効期限を指定します。 |
--files-from | stringArray | ファイルからソースファイル名のリストを読み取ります。空の行またはコメント行は無視されます。 |
--files-from-raw | stringArray | ファイルからソースファイル名のリストを読み取ります。 |
--filter | stringArray | パスまたはファイル名のフィルタリングルール。 |
--filter-from | stringArray | ルールファイルからフィルタリングルールを読み取ります。 |
-f, --force | / | 確認プロンプトなしで操作を強制します。 |
--ignore-existing | / | 既存の宛先オブジェクトをスキップします。 |
--include | stringArray | パスまたはファイル名の包含ルール。 |
--include-from | stringArray | ルールファイルから包含ルールを読み取ります。 |
-j, --job | int | 同時タスクの数。デフォルト値は 3 です。 説明 このオプションは、 |
--list-objects | / | ListObjects API 操作を使用してオブジェクトを一覧表示します。 |
--max-size | SizeSuffix | 転送するオブジェクトの最大サイズを制限します。デフォルトの単位はバイトです。B、K、M、G、T、P などの単位サフィックスも使用できます。1 K (KiB) = 1024 B。 |
--metadata | strings | オブジェクトのユーザーメタデータを key=value 形式で指定します。 |
--metadata-directive | 文字列 | 宛先オブジェクトのメタデータの設定方法を指定します。有効な値:
|
--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、K、M、G、T、P などの単位サフィックスも使用できます。1 K (KiB) = 1024 B。 |
--no-progress | / | 進捗横棒グラフを表示しません。 |
--no-error-report | / | バッチ処理中にエラーレポートファイルを生成しません。 |
--output-dir | 文字列 | バッチ処理中に生成されたエラーレポートファイルが格納されるディレクトリを指定します。デフォルト値は |
--page-size | int | バッチコピー操作中にページごとに一覧表示するオブジェクトの最大数。デフォルト値は 1000 です。値は 1 から 1000 の間である必要があります。 |
--parallel | int | 単一オブジェクトに対する操作の同時タスク数。 |
--part-size | SizeSuffix | パートサイズ。デフォルトでは、ossutil はオブジェクトサイズに基づいて適切なパートサイズを計算します。値は 100 KiB から 5 GiB の間である必要があります。 |
-r, --recursive | / | 操作を再帰的に実行します。このオプションを指定すると、コマンドはバケット内の一致するすべてのオブジェクトに適用されます。それ以外の場合、コマンドはパスで指定されたオブジェクトにのみ適用されます。 |
--request-payer | 文字列 | リクエストの支払方法。リクエスト元支払いモードを使用する場合は、このパラメーターを `requester` に設定します。 |
--size-only | / | サイズが宛先オブジェクトと異なるソースオブジェクトのみをコピーします。 |
--start-after | 文字列 | 指定された値よりアルファベット順で後のオブジェクトを返します。 |
--storage-class | 文字列 | オブジェクトのストレージクラス。有効な値:
|
--tagging | 文字列 | オブジェクトのタグを key=value 形式で指定します。 |
--tagging-directive | 文字列 | 宛先オブジェクトのタグの設定方法を指定します。有効な値:
|
-u, --update | / | 宛先オブジェクトよりも新しいソースオブジェクトのみをコピーします。 |
詳細については、「コマンドラインオプション」をご参照ください。
宛先オブジェクトの命名は、次のルールによって決定されます:
単一のファイルをコピーするときに `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.txt[cp] コマンドを使用してオブジェクトの名前を変更する場合、ソースオブジェクトは削除されません。不要になった場合は、ソースオブジェクトを手動で削除する必要があります。
オブジェクトのタグの変更
ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/ --tagging "abc=1&bcd=2&..."