このページでは、Cloud Storage バケットからオブジェクト データをアプリケーション メモリに直接読み取る方法、またはウェブブラウザやコマンドライン ターミナルでインタラクティブに読み取る方法について説明します。オブジェクトをメモリに読み取るか、インタラクティブに読み取ることをおすすめします。これは、永続的なローカル ファイル システムにファイルを書き込むことに関連する CPU、ディスク I/O、レイテンシのオーバーヘッドを回避する方法で、データをストリーミング、検査、処理する場合に有効です。
オブジェクトを永続ストレージまたはローカル ストレージにダウンロードする手順については、 オブジェクトをダウンロードするをご覧ください。オブジェクトの読み取りとダウンロードの概要については、 オブジェクトの読み取りとダウンロードをご覧ください。
必要なロール
オブジェクト データの読み取りに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
- Storage オブジェクト閲覧者 (
roles/storage.objectViewer)バケットに対する - ストレージ管理者 (
roles/storage.admin) プロジェクトに対する( Google Cloud コンソールを使用してオブジェクト データを読み取る場合にのみ必要)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
Storage オブジェクト閲覧者(roles/storage.objectViewer)ロールには、オブジェクトの読み取りに必要な storage.objects.get 権限が含まれています。ストレージ管理者(roles/storage.admin)ロールには、storage.objects.get 権限に加えて、storage.buckets.list 権限と storage.buckets.get 権限が含まれています。これらの権限は、プロジェクト内のバケットを一覧表示し、バケットに関する情報を表示するために必要です。これらの権限を含むストレージ管理者
(roles/storage.admin) ロールは、 Google Cloud コンソールを使用してオブジェクトをインタラクティブに読み取る場合にのみ必要です。カスタムロールや他の 事前定義ロールを使用して、これらの権限を取得することもできます。
バケットに対するロールを付与する手順については、 バケットでの IAM ポリシーの設定と管理をご覧ください。
プログラムでオブジェクトをメモリに読み取る
このセクションでは、オブジェクトのバイトをアプリケーション メモリに直接ストリーミングしてオブジェクト データを読み取る方法について説明します。
クライアント ライブラリ
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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Rust
オブジェクトをインタラクティブに読み取る
このセクションでは、
Google Cloud コンソール ブラウザ ウィンドウまたはコマンドライン ターミナル stdoutでオブジェクトをインタラクティブに読み取る方法について説明します。
Console
- Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。
バケットリストで、コンテンツを表示するバケットの名前をクリックします。
[オブジェクト] タブで、読み取るオブジェクトの名前をクリックします。
[オブジェクトの詳細] ページで、オブジェクトの公開 URL または認証済み URL をクリックして、そのデータを読み取ります。
コマンドライン
オブジェクトのバイト ペイロードをターミナルの stdout に直接ストリーミングするには、gcloud storage cat コマンドを使用します。
gcloud storage cat gs://BUCKET_NAME/OBJECT_NAME
次のように置き換えます。
BUCKET_NAME: 読み取るオブジェクトを含むバケットの名前。例:my-bucketOBJECT_NAME: 読み取るオブジェクトの名前。例:dog.png
REST API
オブジェクトのバイトを読み取り、出力ストリームをターミナルの stdout にリダイレクトするには、次の手順を使用します。
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して JSON API を呼び出し、objects.getリクエストを行います。これには-o -オプションとalt=mediaクエリ パラメータが含まれます。curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o - \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media"
次のように置き換えます。
BUCKET_NAME: 読み取るオブジェクトを含むバケットの名前。例:my-bucketOBJECT_NAME: 読み取るオブジェクトの URL エンコード名。例:pets/dog.png、URL エンコード形式はpets%2Fdog.png
XML API
gcloud CLI のインストールと初期化を行います。これにより、
Authorizationヘッダーのアクセス トークンを生成できます。cURLを使用して、XML API をGETObject リクエストで呼び出します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
次のように置き換えます。
BUCKET_NAME: 読み取るオブジェクトを含むバケットの名前。例:my-bucketOBJECT_NAME: 読み取るオブジェクトの URL エンコード名。例:pets/dog.png、URL エンコード形式はpets%2Fdog.png
次のステップ
- クラウド プロバイダまたはその他のオンライン ソースからデータを転送する(URL リストを使用するなど)。