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

Object Storage Service:cp (オブジェクトのダウンロード)

最終更新日:Oct 22, 2026

cp コマンドを使用して、ファイル、画像、動画などのリソースを Object Storage Service (OSS) からローカルコンピューターにダウンロードします。このコマンドを使用すると、複数のオブジェクトのダウンロード、ダウンロード速度の制限、またはバージョニングが有効なバケットから特定バージョンのオブジェクトをダウンロードすることが可能です。

注意事項

  • ossutil 1.6.16 以降、オペレーティングシステムに関係なく、コマンドラインでバイナリ名として ossutil を使用できます。1.6.16 より前のバージョンを使用している場合は、バイナリ名をオペレーティングシステムに合わせて変更する必要があります。詳細については、「ossutil コマンドリファレンス」をご参照ください。

権限

デフォルトでは、Alibaba Cloud アカウントはそのリソースに対する完全な権限を持ちます。Resource Access Management (RAM) ユーザーまたは RAM ロールには、デフォルトで権限がありません。RAM ポリシーまたはバケットポリシーを使用して、RAM ユーザーまたは RAM ロールに権限を付与する必要があります。

API アクション

説明

oss:GetObject

オブジェクトをダウンロードするために必要です。

oss:GetObjectVersion

オプション:--version-id オプションを使用してソースオブジェクトの特定バージョンをダウンロードする場合に必要です。

kms:GenerateDataKey

オプション:ダウンロードするオブジェクトが KMS を使用してサーバー側で暗号化されている場合に必要です。

kms:Decrypt

oss:ListObjects

オプション:バッチダウンロード (再帰的操作) に必要です。

構文

ossutil cp cloud_url file_url [options]

パラメータ

説明

cloud_url

OSS オブジェクトのソースパス。形式は oss://bucket[/prefix] です。例:oss://examplebucket/examplefile.txt

file_url

ローカルファイルの保存先パス。保存先がディレクトリの場合、パスは区切り文字 (/ または \) で終わる必要があります。例:Linux パスは /localfolder/examplefile.txt、Windows パスは D:\localfolder\examplefile.txt です。

-r, --recursive

指定されたプレフィックス配下の一致するすべてのオブジェクトに対して再帰的に操作を実行します。指定しない場合、操作は単一の指定されたオブジェクトにのみ適用されます。

-f, --force

確認プロンプトなしで操作を強制的に実行します。

-u, --update

保存先ファイルが存在しない場合、またはソースオブジェクトの最終更新時刻が保存先ファイルの最終更新時刻より新しい場合にのみダウンロードを実行します。

--maxdownspeed

最大ダウンロード速度 (KB/s)。デフォルト値は 0 で、速度制限なしを意味します。

--disable-ignore-error

バッチ操作中のエラー無視を無効にします。

--only-current-dir

現在のディレクトリ内のオブジェクトのみをダウンロードし、サブディレクトリおよびサブディレクトリ内のオブジェクトを無視します。

--bigfile-threshold

レジュームダウンロードのサイズしきい値 (バイト単位)。

デフォルト:100 MB

値の範囲:0~9223372036854775807

--part-size

パートサイズ (バイト単位)。デフォルトでは、ossutil はオブジェクトサイズに基づいて適切なパートサイズを自動的に計算します。

値の範囲:1~9223372036854775807

--checkpoint-dir

ossutil がレジュームダウンロードのチェックポイント情報を保存するディレクトリ。レジュームダウンロードが失敗した場合、ossutil は .ossutil_checkpoint ディレクトリを作成してチェックポイント情報を記録します。ダウンロードが成功すると、ossutil はこのディレクトリを削除します。指定したディレクトリが削除可能であることを確認してください。

--range

オブジェクトの指定されたバイト範囲をダウンロードし、新しいファイルとして保存します。バイト番号は 0 から始まります。

  • 範囲の指定

    例:3-9 は 3 番目のバイトから 9 番目のバイトまで (両端を含む) をダウンロードします。

  • 開始位置の指定

    例:3- は 3 番目のバイトからオブジェクトの末尾まで (両端を含む) をダウンロードします。

  • 終了位置の指定

    例:-9 は 0 番目のバイトから 9 番目のバイトまで (両端を含む) をダウンロードします。

--encoding-type

オブジェクト名のエンコーディングタイプ。このオプションには url を設定します。このオプションを指定しない場合、オブジェクト名はエンコードされません。

--include

指定されたパターンに一致するすべてのオブジェクトを含めます。

詳細については、「include および exclude オプション」をご参照ください。

--exclude

指定されたパターンに一致するすべてのオブジェクトを除外します。

詳細については、「include および exclude オプション」をご参照ください。

--meta

Sets the metadata for the object. The format is header:value#header:value. Example: Cache-Control:no-cache#Content-Encoding:gzip. For more information about metadata, see set-meta (Manage object metadata).

--acl

The access control list (ACL) of the object. Valid values:

  • default (default): The object inherits the ACL of the bucket.

  • private: Only the bucket owner has read and write permissions. Other users cannot access the objects in the bucket.

  • public-read: Only the bucket owner has write permissions. All other users, including anonymous users, have read-only permissions on the objects in the bucket. This can lead to data leaks and increased fees. Use this ACL with caution.

  • public-read-write: Anyone, including anonymous users, can read and write objects in the bucket. This can lead to data leaks, increased fees, and potential legal liabilities if malicious content is uploaded. Except for specific use cases, do not configure public read-write permissions.

--snapshot-path

ダウンロード中にスナップショット情報が保存されるディレクトリ。次回のダウンロード時、ossutil はこのディレクトリからスナップショット情報を読み取り、増分ダウンロードを実行します。

--disable-crc64

64 ビット巡回冗長検査 (CRC-64) を無効にします。デフォルトでは、ossutil はすべてのデータ転送で CRC-64 を有効にします。

--payer

リクエストの支払い方法。指定されたパスへのアクセスから発生するトラフィックとリクエストをリクエスタに支払いを負担させる場合は、このオプションを requester に設定します。

--partition-download

ダウンロードするオブジェクトのパーティションを指定します。値の形式は Partition number:Total partitions です。例:1:5 は、この ossutil コマンドが合計 5 つのパーティションのうちパーティション 1 をダウンロードすることを示します。パーティション番号は 1 から始まります。ツールの内部アルゴリズムが、ossutil がオブジェクトをどのようにパーティション分割するかを決定します。このオプションを使用すると、オブジェクトを複数のパーティションに分割し、複数の ossutil コマンドを使用して並列にダウンロードできます。各コマンドは割り当てられたパーティションをダウンロードします。

-j, --job

複数オブジェクト操作の同時実行タスク数。デフォルト:3。値の範囲:1~10,000。

--parallel

単一オブジェクト操作の同時実行タスク数。値の範囲:1~10,000。このオプションが設定されていない場合、ossutil は操作タイプとオブジェクトサイズに基づいて値を決定します。

--version-id

オブジェクトの特定バージョンをダウンロードします。--version-id オプションは、バージョニングが有効なバケットでのみ使用できます。バケットのバージョニングを有効にするには、「bucket-versioning (バージョニング)」をご参照ください。

--start-time

UNIX タイムスタンプ。このオプションを指定すると、最終更新時刻がこのタイムスタンプより前のオブジェクトは無視されます。

説明

このパラメーターは、ossutil 1.7.18 以降でサポートされています。アップグレードの詳細については、「update (ossutil のアップグレード)」をご参照ください。

--end-time

UNIX タイムスタンプ。このオプションを指定すると、最終更新時刻がこのタイムスタンプより後のオブジェクトは無視されます。

説明
  • start-time と end-time の両方を指定した場合、コピーコマンドは指定された開始時刻と終了時刻の間に最終更新されたファイルに対してのみ実行されます。

  • このパラメーターは、ossutil 1.7.18 以降でサポートされています。ossutil のアップグレード方法の詳細については、「update (ossutil のアップグレード)」をご参照ください。

このコマンドのその他の共通オプションの詳細については、「共通オプション」をご参照ください。

デフォルトの並列度がパフォーマンス要件を満たさない場合は、-j, --job および --parallel オプションを調整してパフォーマンスをチューニングできます。デフォルトでは、ossutil はオブジェクトサイズに基づいて並列数を計算します。大きなオブジェクトをバッチで転送する場合、実際の並列度はジョブ数に並列数を掛けた値になります。

  • コマンドを実行する ECS インスタンスまたはサーバーのリソース (ネットワーク、メモリ、CPU など) が限られている場合は、並列度を 100 未満の値に設定することを推奨します。これらのリソースに余裕がある場合は、並列度を増やすことができます。

  • 並列度を高く設定しすぎると、スレッド切り替えのオーバーヘッドやリソースの競合により、パフォーマンスが低下したり EOF エラーが発生したりする可能性があります。マシンのリソースに基づいて -j, --job および --parallel オプションを調整できます。負荷テストを実行する場合は、低い並列度の値から始めて徐々に増やし、最適な設定を見つけてください。

例

以下の例は Linux システム用です。パラメータをオペレーティングシステムと環境に合わせて調整する必要があります。例では、以下を前提としています:

  • バケット名:examplebucket

  • OSS ディレクトリ:destfolder/

  • ローカルディレクトリ:localfolder/

  • ローカルファイル:examplefile.txt

単一オブジェクトのダウンロード

  • オブジェクトを指定されたディレクトリにダウンロードし、元の名前を保持します:

    ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/
  • オブジェクトを指定されたディレクトリにダウンロードし、example.txt に名前を変更します:

    ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/example.txt

バッチダウンロード

  • -r オプションを使用して、destfolder ディレクトリを、すべてのサブディレクトリとオブジェクトを含めてダウンロードします。

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/
  • --only-current-dir オプションを使用して、現在のディレクトリ内のオブジェクトのみをダウンロードし、サブディレクトリを無視します。

    ossutil cp oss://examplebucket/destfolder/ localfolder/ --only-current-dir -r
  • -u オプションを使用して、ローカルに存在しないオブジェクト、または OSS で更新されたオブジェクトのみをダウンロードします。このオプションは、同じ名前と最終更新時刻を持つローカルファイルが既に存在する場合、オブジェクトのダウンロードをスキップします。

    ossutil cp -r -u oss://examplebucket/destfolder/ localfolder/

条件付きオブジェクトのダウンロード

  • destfolder ディレクトリから JPG 形式ではないすべてのオブジェクトをダウンロードします:

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --exclude "*.jpg"
  • destfolder ディレクトリから、名前に abc を含むが、JPG または TXT 形式ではないオブジェクトをダウンロードします:

    ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt"

ダウンロード速度の制限

--maxdownspeed オプションを使用して、ダウンロード速度を 1 MB/s (1,024 KB/s) に制限します。

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --maxdownspeed 1024

範囲指定ダウンロード

--range オプションを使用して、examplefile.txt の 10 バイト目から 20 バイト目までをローカルコンピューターにダウンロードします。

ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/ --range 10-20

指定された時間範囲内のオブジェクトのダウンロード

--start-time および --end-time オプションを使用して、2023 年 10 月 31 日 10:09:18 (UTC+8) から 2023 年 10 月 31 日 12:55:58 (UTC+8) の間に最終更新された destfolder ディレクトリ内のオブジェクトのみをダウンロードします。

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158

オブジェクトの特定バージョンのダウンロード

まず、ls --all-versions コマンドを使用してオブジェクトのすべてのバージョン ID を取得し、次に --version-id オプションを使用して特定のバージョンをダウンロードします。

説明

--version-id オプションは、バージョニングが有効なバケット内のオブジェクトに対してのみ使用できます。バケットのバージョニングを有効にするには、「bucket-versioning (バージョニング)」をご参照ください。

ossutil cp oss://examplebucket/test.jpg localfolder/ --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk

オブジェクトのダウンロードとスナップショット情報の生成

--snapshot-path オプションを使用して、ダウンロードされたオブジェクトのスナップショット情報を指定されたディレクトリに生成します。このオプションを使用して後続のダウンロードコマンドを実行すると、ossutil はディレクトリからスナップショット情報を読み取り、増分ダウンロードを実行します。詳細については、「オブジェクトのダウンロードとスナップショットの生成」をご参照ください。

ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --snapshot-path local_snapshot_dir/

クロスアカウントまたはクロスリージョンのダウンロード

-e、-i、-k 共通オプションを使用して、別のアカウントが所有し、China (Shanghai) リージョンにあるバケットからオブジェクトをダウンロードします。

説明

バケットが配置されているリージョンに対応するエンドポイントを指定します。詳細については、「リージョンとエンドポイント」をご参照ください。

ossutil cp oss://examplebucket/exampleobject.txt  localfolder/  -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret