OSS に保存されているファイル、画像、動画などのリソースをローカルマシンにダウンロードするには、ossutil の cp コマンドを使用します。
注意事項
-
ファイルをダウンロードするには、
oss:GetObject権限およびoss:ListObjects権限が必要です。詳細については、「RAM ユーザーへのカスタム権限ポリシーの付与」をご参照ください。 -
-u, --updateオプションを使用すると、ターゲットファイルの存在有無に関係なく、各ファイルについて少なくとも 1 回の HEAD リクエストが送信され、タイムスタンプが比較されます。データの変更頻度が低いシナリオでは、これにより多数の非効率なリクエストが発生し、パフォーマンスが低下したり、追加のリクエスト課金が発生したりする可能性があります。このオプションを使用する前に、実際のビジネス要件を評価し、不要なリソース消費を回避してください。
コマンド構文
ossutil cp oss://bucket[/prefix] local-path [flags]
|
パラメーター |
タイプ |
説明 |
|
local-path |
string |
相対パス、絶対パス、および |
|
prefix |
string |
オブジェクトのプレフィックス。プレフィックスが「/」で終わる場合は、バッチ操作のみがサポートされます。「/」で終わらない場合は、コマンドラインオプションに基づいて、単一オブジェクトまたはバッチダウンロードのいずれかが実行されます。 |
|
--acl |
string |
オブジェクトのアクセス権限。有効な値は以下のとおりです。
|
|
--bandwidth-limit |
SizeSuffix |
ネットワーク帯域幅を制限してデータ転送レートをコントロールします。最小値は 1024 B/s です。デフォルトの単位は B/s です。 帯域幅の値に単位を指定できます。サポートされる単位は、B(バイト)、K(キロバイト)、M(メガバイト)、G(ギガバイト)です。たとえば、50 M と指定すると、制限値は 50 MB/s になります。 |
|
--bigfile-threshold |
SizeSuffix |
大規模ファイルに対してマルチパートアップロード、ダウンロード、またはコピーを有効にするしきい値(デフォルト:104857600)。 |
|
--cache-control |
string |
Web ブラウザーによってオブジェクトがダウンロードされた際のキャッシュ動作を指定します。 |
|
--checkers |
int |
同時チェック数(デフォルト:16)。 |
|
--checkpoint-dir |
string |
再開可能なダウンロードのチェックポイント情報を保存するディレクトリ(デフォルト: |
|
--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 |
string |
キャッシュされたコンテンツの絶対的な有効期限を指定します。 |
|
--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 API を使用してオブジェクトを一覧表示します。 |
|
--max-size |
SizeSuffix |
転送するファイルの最大サイズ。デフォルトの単位はバイトです。接尾辞 B|K|M|G|T|P を追加できます。注:1K (KiB) = 1024B。 |
|
--metadata |
strings |
key=value 形式のオブジェクトに対するユーザー定義メタデータ。 |
|
--metadata-directive |
string |
送信先オブジェクトのメタデータ設定方法を指定します。有効な値は以下のとおりです。
|
|
--metadata-exclude |
stringArray |
オブジェクトのメタデータに対する除外ルール。 |
|
--metadata-filter |
stringArray |
オブジェクトのメタデータに対するフィルタリングルール。 |
|
--metadata-filter-from |
stringArray |
ファイルからオブジェクトのメタデータフィルタリングルールを読み取ります。 |
|
--metadata-include |
stringArray |
オブジェクトのメタデータに対する包含ルール。 |
|
--min-age |
Duration |
指定された時間間隔より前に変更されたファイルのみをダウンロードします。デフォルトの単位は秒です。h(時間)などの接尾辞を使用できます。たとえば、1h は 1 時間を意味します。 説明
|
|
--max-age |
Duration |
指定された時間間隔以内に変更されたファイルのみをダウンロードします。デフォルトの単位は秒です。h(時間)などの接尾辞を使用できます。たとえば、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 を追加できます。注:1K (KiB) = 1024B。 |
|
--no-progress |
/ |
進行状況バーを表示しません。 |
|
--page-size |
int |
バッチダウンロード中に 1 ページあたりに一覧表示されるオブジェクトの最大数(デフォルト:1000)。有効範囲:1~1000。 |
|
--parallel |
int |
単一ファイルに対する内部操作の同時タスク数。 |
|
--part-size |
SizeSuffix |
マルチパート操作時のパーツサイズ。デフォルトでは、ossutil がファイルサイズに基づいて適切なパーツサイズを自動計算します。有効範囲:100 KiB~5 GiB。 |
|
-r, --recursive |
/ |
再帰的に操作を実行します。このオプションを指定すると、コマンドはバケット内のすべての一致するオブジェクトに対して操作を行います。指定しない場合は、パスで指定されたオブジェクトに対してのみ操作を行います。 |
|
--request-payer |
string |
リクエストの支払い方法。バケットがリクエスト元支払いモードを使用している場合は、これを requester に設定します。 |
|
--size-only |
/ |
送信先ファイルとサイズが異なるソースファイルのみをダウンロードします。 |
|
--start-after |
string |
アルファベット順で指定された値より後のオブジェクトを返します(指定された値自体は含みません)。 |
|
--storage-class |
string |
オブジェクトのストレージクラス。有効な値は以下のとおりです。
|
|
--tagging |
strings |
key=value 形式のオブジェクトに対するタグ。 |
|
--tagging-directive |
string |
送信先オブジェクトのタグ設定方法を指定します。有効な値は以下のとおりです。
|
|
-u, --update |
/ |
送信先にすでに存在し、かつソースファイルよりも新しい更新時刻を持つファイルをスキップします。 説明
送信先にすでにファイルが存在していても、その更新時刻がソースファイルよりも古い場合は、更新されます。 |
|
--ignore-existing |
/ |
送信先にすでに存在するファイルをスキップします。 |
|
--version-id |
string |
オブジェクトのバージョン ID。 |
|
--write-buffer-size |
SizeSuffix |
書き込みに使用するメモリバッファーのサイズ。4 KB 境界に自動的にアラインされます。接尾辞 B / K / M をサポート(デフォルト:128 KiB)。有効範囲:0~32 MiB。 |
ossutil 2.3.0 以降では、--job、--parallel、--bigfile-threshold、--part-size、および --write-buffer-size の各オプションを設定ファイルで構成できます。key=value 形式(例:job=10)で対応するプロファイルセクションに追加するか、ossutil config set を使用して書き込んでください。コマンドラインオプションは、設定ファイルの設定よりも優先されます。
サポートされているグローバルコマンドラインオプションについては、「グローバルコマンドラインオプション」をご参照ください。
送信先ファイルの命名規則は以下のとおりです。
-
単一ファイルのダウンロードの場合、送信先がディレクトリであると、ソースファイルの相対パスを使用してそのディレクトリ内にファイルが作成されます。
-
単一ファイルのダウンロードの場合、送信先がファイルであるか存在しない場合は、指定された送信先ファイル名が使用されます。
-
バッチダウンロードの場合、ソースファイルの相対パスに従って送信先のルートディレクトリ下に階層的にサブディレクトリが作成され、その後ファイルが作成されます。
ソースファイルの相対パスは、プレフィックス内の最後の「/」まで(およびそれを含む)のすべての文字を削除することで得られます。
たとえば、cp oss://bucket/root/dir/ ... の場合、オブジェクト root/dir/subdir/test.txt の相対パスは subdir/test.txt になります。
使用例
単一ファイルのダウンロード
ダウンロード時にファイル名を指定しない場合、元のファイル名がローカルで使用されます。ファイル名を指定した場合、その名前でローカルに保存されます。
-
元のファイル名で保存
ossutil cp oss://examplebucket/examplefile.txt D:/localpath -
指定したファイル名で保存
ossutil cp oss://examplebucket/examplefile.txt D:/localpath/example.txt
複数ファイルのダウンロード
-
特定の種類のファイルをダウンロード
共通プレフィックスやサフィックスなど、命名パターンを共有する複数のファイルをダウンロードするには、--include および --exclude オプションを使用して一致するファイルを選択します。
JPG 形式以外のすべてのファイルをダウンロード:
ossutil cp oss://examplebucket/destfolder/ D:/localpath/ --exclude "*.jpg" -r -
ダウンロード フォルダ
ossutil cp -r oss://examplebucket/destfolder/ D:/localpath/ -
バケットのルートからすべてのファイルをダウンロード
ossutil cp -r oss://examplebucket D:/localpath/
ダウンロード速度の制限
examplefile.txt を現在のディレクトリにダウンロードし、ダウンロード速度を 20 MB/s に制限します。
ossutil cp oss://examplebucket/examplefile.txt . --bandwidth-limit 20971520