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