このページでは、リクエスト元による支払いを有効または無効にする方法と、バケットでリクエスト元による支払いが有効かどうかを確認する方法について説明します。
必要なロール
リクエスト元による支払いの設定と管理に必要な権限を取得するには、バケットを含むプロジェクトに対するストレージ管理者(roles.storage.Admin
)ロールを付与するよう管理者に依頼してください。
このロールには、リクエスト元による支払いの設定と管理に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
storage.buckets.get
storage.buckets.update
resourcemanager.projects.createBillingAssignment
- この権限は、リクエスト元による支払いを無効にする際に使用する請求先アカウントがない場合にのみ必要です。詳細については、使用とアクセスの要件をご覧ください。
これらの権限は、他の事前定義ロールやカスタムロールを使用して取得することもできます。
プロジェクトにロールを付与する手順については、ロールの付与または取り消しをご覧ください。
リクエスト元による支払いの設定
バケットでリクエスト元による支払いを有効または無効にするには:
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、設定するバケットを探し、[リクエスト元による支払い] 列を見つけます。
この列の値は、そのバケットのリクエスト元による支払いの現在の状態を示します。
バケットでリクエスト元による支払いの状態をクリックします。
表示されたウィンドウで、リクエスト元による支払いに設定する状態に応じて、[オンにする] または [オフにする] をクリックします。
有効にすると、バケットの [リクエスト元による支払い] 列に緑色のふきだしと [オン] が表示されます。無効にすると、列に灰色のふきだしと [オフ] が表示されます。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
適切なフラグを指定して、gcloud storage buckets update
コマンドを使用します。
gcloud storage buckets update gs://BUCKET_NAME FLAG
ここで
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
FLAG
は、リクエスト元による支払いを有効にする場合は--requester-pays
、無効にする場合は--no-requester-pays
です。
正常に終了すると、レスポンスは次の例のようになります。
Updating gs://my-bucket/... Completed 1
クライアント ライブラリ
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
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる JSON ファイルを作成します。
{ "billing": { "requesterPays": STATE } }
ここで、STATE は
true
またはfalse
です。cURL
を使用して、PATCH
Bucket リクエストで JSON API を呼び出します。curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
ここで
JSON_FILE_NAME
は、手順 2 で作成した JSON ファイルのパスです。BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
XML API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる XML ファイルを作成します。
<BillingConfiguration> <RequesterPays>STATE</RequesterPays> </BillingConfiguration>
ここで、STATE は
Enabled
またはDisabled
です。cURL
を使用して、billing
クエリ文字列パラメータを指定したPUT
Bucket リクエストで XML API を呼び出します。curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
ここで
XML_FILE_NAME
は、手順 2 で作成した XML ファイルのパスです。BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
リクエスト元による支払いが有効かどうかを確認する
バケットでリクエスト元による支払いが有効かどうかを確認するには:
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットリストの [リクエスト元による支払い] 列に、各バケットのリクエスト元による支払いのステータスが表示されます。
有効の場合、ステータスは緑色で、[オン] と表示されます。
コマンドライン
gcloud storage buckets describe
コマンドを使用し、--format
フラグを指定します。
gcloud storage buckets describe gs://BUCKET_NAME --format="default(requester_pays)"
ここで、BUCKET_NAME
はステータスを表示するバケットの名前です。例: my-bucket
正常に終了すると、レスポンスは次の例のようになります。
requester_pays: true
クライアント ライブラリ
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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、GET
Bucket リクエストで JSON API を呼び出します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
BUCKET_NAME
は、該当するバケットの名前です。例:my-bucket
XML API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、billing
クエリ文字列パラメータを指定したGET
Bucket リクエストで XML API を呼び出します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
BUCKET_NAME
は、該当するバケットの名前です。例:my-bucket
リクエスト元による支払いバケットにアクセスする
次の例では、リクエスト元による支払いバケットに保存したオブジェクトをダウンロードできるように、請求先プロジェクトを追加する方法を説明します。同様の手順で、リクエスト元による支払いバケットやバケット内のオブジェクトに他のリクエストを実行します。前提条件については、リクエスト元による支払いのアクセス要件をご覧ください。
コンソール
- Google Cloud コンソールで、Cloud Storage の [バケット] ページに移動します。
バケットのリストで、ダウンロードするオブジェクトを含むバケットの名前をクリックします。
表示されたウィンドウで、プルダウン メニューから請求先プロジェクトを選択します。
選択したプロジェクトを請求先として使用する権限があることを確認するチェックボックスをオンにします。
[保存] をクリックします。
通常どおりオブジェクトをダウンロードします。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
コマンドライン
リクエストで --billing-project
フラグを使用します。
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION --billing-project=PROJECT_IDENTIFIER
ここで
BUCKET_NAME
は、ダウンロードするオブジェクトが格納されているバケットの名前です。例:my-bucket
OBJECT_NAME
は、ダウンロードするオブジェクトの名前です。例:pets/dog.png
SAVE_TO_LOCATION
は、オブジェクトを保存するローカルパスです。例:Desktop/Images
PROJECT_IDENTIFIER
は、課金対象のプロジェクトの ID または番号です。例:my-project
クライアント ライブラリ
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
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。リクエストに、請求先プロジェクトの ID を設定した
userProject
クエリ文字列パラメータを含めます。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media&userProject=PROJECT_IDENTIFIER"
ここで
SAVE_TO_LOCATION
は、オブジェクトを保存する場所です。例:Desktop/dog.png
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、ダウンロードするオブジェクトの URL エンコード名です。例:pets%2Fdog.png
として URL エンコードされているpets/dog.png
PROJECT_IDENTIFIER
は、課金対象のプロジェクトの ID または番号です。例:my-project
XML API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。リクエストに、請求先プロジェクトの ID を設定した
x-goog-user-project
ヘッダーを含めます。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
ここで
PROJECT_ID
は、課金対象のプロジェクトの ID です。例:my-project
SAVE_TO_LOCATION
は、オブジェクトを保存する場所です。例:Desktop/dog.png
BUCKET_NAME
は、関連するバケットの名前です。例:my-bucket
OBJECT_NAME
は、ダウンロードするオブジェクトの URL エンコード名です。例:pets%2Fdog.png
として URL エンコードされているpets/dog.png