このページでは、Cloud Storage のバケットから永続ストレージにオブジェクトをダウンロードする方法について説明します。オブジェクトをメモリにダウンロードすることもできます。
必要な権限
コンソール
Google Cloud Console を使用してこのガイドを完了するには、適切な IAM 権限が必要です。ダウンロード元のバケットが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特定のアクションに必要な権限の一覧については、Google Cloud コンソールに適用される IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
コマンドライン
コマンドライン ユーティリティを使用してこのガイドを完了するには、適切な IAM 権限が必要です。ダウンロード元のバケットが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特定の操作に必要な権限の一覧については、gcloud storage
コマンドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
クライアント ライブラリ
Cloud Storage クライアント ライブラリを使用してこのガイドを完了するには、適切な IAM 権限が必要です。ダウンロード元のバケットが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特に断りのない限り、クライアント ライブラリのリクエストは JSON API を介して行われ、JSON メソッドの IAM 権限に記載されている権限が必要です。クライアント ライブラリを使用してリクエストを行うときに呼び出される JSON API メソッドを確認するには、元のリクエストをログに記録します。
関連する IAM ロールのリストについては、Cloud Storage のロールをご覧ください。また、特定の制限された権限を持つカスタムロールを作成することもできます。
REST API
JSON API
JSON API を使用してこのガイドを完了するには、適切な IAM 権限が付与されている必要があります。ダウンロード元のバケットが、自分で作成していないプロジェクトに存在する場合は、プロジェクト オーナーから必要な権限を持つロールを付与してもらう必要があります。
特定のアクションに必要な権限の一覧については、JSON メソッドの IAM 権限をご覧ください。
関連するロールのリストについては、Cloud Storage のロールをご覧ください。または、特定の制限された権限を持つカスタムロールを作成することもできます。
バケットからオブジェクトをダウンロードする
バケットからオブジェクトをダウンロードするには、次の手順を行います。
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、ダウンロードするオブジェクトを含むバケットの名前をクリックします。
[バケットの詳細] ページが開き、[オブジェクト] タブが選択されています。
フォルダ内にあるオブジェクトに移動します。
オブジェクトに関連付けられた [ダウンロード] アイコンをクリックします。
ブラウザの設定で、オブジェクトのダウンロード場所を制御します。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
gcloud storage cp
コマンドを使用します。
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION
ここで
BUCKET_NAME
は、ダウンロードするオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、ダウンロードするオブジェクトの名前です。例:pets/dog.png
SAVE_TO_LOCATION
は、オブジェクトを保存するローカルパスです。例:Desktop/Images
成功した場合は、次の例のようなレスポンスになります。
Completed files 1/1 | 164.3kiB/164.3kiB
完了前にダウンロードが中断した場合は、同じ cp
コマンドを実行して、中断した場所からダウンロードを再開します。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
次のサンプルでは、個々のオブジェクトをダウンロードします。
次のサンプルでは、複数のプロセスを使用して複数のオブジェクトをダウンロードします。
次の例では、複数のプロセスを使用して、共通の接頭辞を持つすべてのオブジェクトをダウンロードします。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
次のサンプルでは、個々のオブジェクトをダウンロードします。
次のサンプルでは、複数のプロセスを使用して複数のオブジェクトをダウンロードします。
次のサンプルでは、複数のプロセスを使用してバケット内のすべてのオブジェクトをダウンロードします。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST API
JSON API
- OAuth 2.0 Playground から認可アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
cURL
を使用して、GET
Object リクエストで JSON API を呼び出します。curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
ここで
OAUTH2_TOKEN
は、手順 1 で生成したアクセス トークンです。SAVE_TO_LOCATION
は、オブジェクトを保存する場所へのパスです。例:Desktop/dog.png
BUCKET_NAME
は、ダウンロードするオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、ダウンロードするオブジェクトの URL エンコードされた名前です。例:pets%2Fdog.png
として URL エンコードされているpets/dog.png
XML API
- OAuth 2.0 Playground から認証アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
cURL
を使用して、GET
Object リクエストで XML API を呼び出します。curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
ここで
OAUTH2_TOKEN
は、手順 1 で生成したアクセス トークンです。SAVE_TO_LOCATION
は、オブジェクトを保存する場所へのパスです。例:Desktop/dog.png
BUCKET_NAME
は、ダウンロードするオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、ダウンロードするオブジェクトの URL エンコードされた名前です。例:pets%2Fdog.png
として URL エンコードされているpets/dog.png
バケットまたはサブディレクトリ内のすべてのオブジェクトを簡単にダウンロードするには、gcloud storage cp
コマンドまたはクライアント ライブラリを使用します。
オブジェクトの一部をダウンロードする
ダウンロードが中断された場合は、残りのオブジェクトのみをリクエストすることで、中断した場所からダウンロードを再開できます。オブジェクトの一部をダウンロードするには、次の手順を行います。
コンソール
Google Cloud コンソールでは、オブジェクトの一部をダウンロードすることはできません。代わりに gcloud CLI を使用してください。
コマンドライン
Google Cloud CLI は、ストリーミング ダウンロードを実行する場合を除き、中断されたダウンロードを自動的に再開しようとします。ダウンロードが中断された場合、部分的にダウンロードされた一時ファイルは宛先の階層に表示されます。同じ cp
コマンドを実行して、中断した場所からダウンロードを再開します。
ダウンロードが完了すると、一時ファイルが削除され、ダウンロードされたコンテンツに置き換えられます。デフォルトでは、一時ファイルは .config/gcloud/surface_data/storage/tracker_files
のユーザーのホーム ディレクトリにあるに保存されます。この場所は構成可能です。gcloud config get storage/tracker_files_directory
を実行すると、一時ファイルの保存場所を変更または表示できます。
クライアント ライブラリ
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
REST API
JSON API
リクエスト内の Range
ヘッダーを使用して、オブジェクトの一部をダウンロードします。
- OAuth 2.0 Playground から認証アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
cURL
を使用して、GET
Object リクエストで JSON API を呼び出します。curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Range: bytes=FIRST_BYTE-LAST_BYTE" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
ここで
OAUTH2_TOKEN
は、手順 1 で生成したアクセス トークンです。FIRST_BYTE
は、ダウンロードするバイト範囲の最初のバイトです。例:1000
LAST_BYTE
は、ダウンロードするバイト範囲の最後のバイトです。例:1999
SAVE_TO_LOCATION
は、オブジェクトを保存する場所へのパスです。例:Desktop/dog.png
BUCKET_NAME
は、ダウンロードするオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、ダウンロードするオブジェクトの URL エンコードされた名前です。例:pets%2Fdog.png
として URL エンコードされているpets/dog.png
XML API
リクエスト内の Range
ヘッダーを使用して、オブジェクトの一部をダウンロードします。
- OAuth 2.0 Playground から認証アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を構成します。手順については、API 認証をご覧ください。
cURL
を使用して、GET
Object リクエストで XML API を呼び出します。curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Range: bytes=FIRST_BYTE-LAST_BYTE" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
ここで
OAUTH2_TOKEN
は、手順 1 で生成したアクセス トークンです。FIRST_BYTE
は、ダウンロードするバイト範囲の最初のバイトです。例:1000
LAST_BYTE
は、ダウンロードするバイト範囲の最後のバイトです。例:1999
SAVE_TO_LOCATION
は、オブジェクトを保存する場所へのパスです。例:$HOME/Desktop/dog.png
BUCKET_NAME
は、ダウンロードするオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、ダウンロードするオブジェクトの URL エンコードされた名前です。例:pets%2Fdog.png
として URL エンコードされているpets/dog.png
次のステップ
- アップロードとダウンロードのコンセプトの概要で、高度なダウンロード方法などを確認する。
- クラウド プロバイダまたはその他のオンライン ソースからデータを転送する(URL リストを使用するなど)。
- Compute Engine インスタンスにオブジェクトを転送する。
- Cloud Storage のアクセス料金をリクエスト元に請求する方法を学習する。
- gzip で圧縮されたファイルを Cloud Storage で圧縮されていない状態で処理する方法を学習する。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Cloud Storage 無料トライアル