このページでは、リクエスト元による支払い機能の設定方法について説明します。また、リクエスト元による支払い機能を有効にしたバケットにリクエストを送信する例についても説明します。この機能の詳細については、リクエスト元による支払いをご覧参ください。
リクエスト元による支払いを設定する
以降のセクションでは、リクエスト元による支払いをオンまたはオフにする方法と、バケットでリクエスト元による支払いが有効かどうかを確認する方法について説明します。
要件
storage.buckets.get
権限が必要です。この権限があると、バケットのリクエスト元による支払いのステータスを確認できます。また、Google Cloud Platform Console または gsutil を使用してリクエスト元による支払いを有効、無効にする場合にもこの権限が必要です。リクエスト元による支払いを有効または無効にするには
storage.buckets.update
権限が必要です。リクエスト元による支払いを無効にする場合は、リクエストに請求先プロジェクトを含めるか
resourcemanager.projects.createBillingAssignment
権限を持つ必要があります。詳細については、リクエスト元による支払いの使用条件とアクセス要件をご覧ください。
権限は、役割によってユーザーに付与されます。たとえば、roles/storage.admin
が付与されたユーザーには上記のすべての storage.buckets
権限があります。役割はバケットを含むプロジェクトに追加できます。
リクエスト元による支払いを有効にする
バケットでリクエスト元による支払いを有効にするには:
Console
- Google Cloud Platform Console で Cloud Storage ブラウザを開きます。
Cloud Storage ブラウザを開く バケットリストで、有効にするバケットを見つけ、[リクエスト元による支払い] 列で [オフ] ボタンをクリックします。
表示されたウィンドウで [有効にする] をクリックします。
有効にすると、バケットの [リクエスト元による支払い] 列に緑色のふきだしと [オン] が表示されます。
gsutil
gsutil requesterpays set on
コマンドを使用します。
gsutil requesterpays set on gs://[BUCKET_NAME]
[BUCKET_NAME]
は、該当するバケットの名前です。例: my-bucket
。
コードサンプル
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
REST API
JSON API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を設定します。
次の情報が含まれている
.json
ファイルを作成します。{ "billing": { "requesterPays": true } }
cURL
を使用して JSON API を呼び出し、PATCH
Bucket リクエストを行います。curl -X PATCH --data-binary @[JSON_FILE_NAME].json \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ -H "Content-Type: application/json" \ "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=billing"
ここで
[JSON_FILE_NAME]
は、手順 2 で作成したファイルの名前です。[OAUTH2_TOKEN]
は手順 1 で生成したアクセス トークンの名前です。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。
XML API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を設定します。
次の情報が含まれている
.xml
ファイルを作成します。<BillingConfiguration> <RequesterPays>Enabled</RequesterPays> </BillingConfiguration>
cURL
を使用して、PUT
Bucket リクエストとrequesterpays
クエリ文字列パラメータを含めた XML API を呼び出します。curl -X PUT --data-binary @[XML_FILE_NAME].xml \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ "https://storage.googleapis.com/[BUCKET_NAME]?billing"
ここで
[XML_FILE_NAME]
は、手順 2 で作成したファイルの名前です。[OAUTH2_TOKEN]
は手順 1 で生成したアクセス トークンの名前です。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。
リクエスト元による支払いを無効にする
バケットでリクエスト元による支払いを無効にするには:
Console
- Google Cloud Platform Console で Cloud Storage ブラウザを開きます。
Cloud Storage ブラウザを開く バケットリストで、無効にするバケットを見つけ、[リクエスト元による支払い] 列の [オン] ボタンをクリックします。
表示されたウィンドウで、[無効にする] をクリックします。
無効にすると、[リクエスト元による支払い] 列に灰色のふきだしと [オフ] が表示されます。
gsutil
gsutil requesterpays set off
コマンドを使用します。
gsutil requesterpays set off gs://[BUCKET_NAME]
[BUCKET_NAME]
は、該当するバケットの名前です。例: my-bucket
。
コードサンプル
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
REST API
JSON API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を設定します。
次の情報が含まれている
.json
ファイルを作成します。{ "billing": { "requesterPays": false } }
cURL
を使用して JSON API を呼び出し、PATCH
Bucket リクエストを行います。curl -X PATCH --data-binary @[JSON_FILE_NAME].json \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ -H "Content-Type: application/json" \ "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=billing"
ここで
[JSON_FILE_NAME]
は、手順 2 で作成したファイルの名前です。[OAUTH2_TOKEN]
は手順 1 で生成したアクセス トークンの名前です。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。
XML API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を設定します。
次の情報が含まれている
.xml
ファイルを作成します。<BillingConfiguration> <RequesterPays>Disabled</RequesterPays> </BillingConfiguration>
cURL
を使用して、PUT
Bucket リクエストとrequesterpays
クエリ文字列パラメータを含めた XML API を呼び出します。curl -X PUT --data-binary @[XML_FILE_NAME].xml \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ "https://storage.googleapis.com/[BUCKET_NAME]?billing"
ここで
[XML_FILE_NAME]
は、手順 2 で作成したファイルの名前です。[OAUTH2_TOKEN]
は手順 1 で生成したアクセス トークンの名前です。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。
リクエスト元による支払いが有効かどうかを確認する
バケットでリクエスト元による支払いが有効かどうかを確認するには:
Console
- Google Cloud Platform Console で Cloud Storage ブラウザを開きます。
Cloud Storage ブラウザを開く バケットリストの [リクエスト元による支払い] 列に、各バケットのリクエスト元による支払いのステータスが表示されます。
有効の場合、ステータスは緑色で、[オン] と表示されます。
gsutil
gsutil requesterpays get
コマンドを使用します。
gsutil requesterpays get gs://[BUCKET_NAME]
[BUCKET_NAME]
は、該当するバケットの名前です。例: my-bucket
。
リクエスト元による支払いが有効になっている場合、レスポンスは次のようになります。
gs://[BUCKET_NAME]: Enabled
コードサンプル
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
REST API
JSON API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を設定します。
cURL
を使用して JSON API を呼び出し、GET
Bucket リクエストを行います。curl -X GET \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]?fields=billing"
ここで
[OAUTH2_TOKEN]
は手順 1 で生成したアクセス トークンの名前です。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。
XML API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を設定します。
cURL
を使用して、GET
Bucket リクエストとbilling
クエリ文字列パラメータを含めた XML API を呼び出します。curl -X GET \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ "https://storage.googleapis.com/[BUCKET_NAME]?billing"
ここで
[OAUTH2_TOKEN]
は手順 1 で生成したアクセス トークンの名前です。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。
リクエスト元による支払いバケットにアクセスする
次の例では、リクエスト元による支払いバケットに保存したオブジェクトをダウンロードできるように、請求先プロジェクトを追加する方法を説明します。同様の手順で、リクエスト元による支払いバケットやバケット内のオブジェクトに他のリクエストを実行します。前提条件については、リクエスト元による支払いのアクセス要件をご覧ください。
Console
- Google Cloud Platform Console で Cloud Storage ブラウザを開きます。
Cloud Storage ブラウザを開く バケットのリストで、ダウンロードするオブジェクトを含むバケットの名前をクリックします。
表示されたウィンドウで、プルダウン メニューから請求先プロジェクトを選択します。
選択したプロジェクトを請求先として使用する権限があることを確認するチェックボックスをオンにします。
[保存] をクリックします。
通常どおりオブジェクトをダウンロードします。
gsutil
リクエストで -u
フラグを使用します。
gsutil -u [PROJECT_ID] cp gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION]
ここで
[PROJECT_ID]
は、課金対象のプロジェクトの ID です。例:my-project
。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。[OBJECT_NAME]
は、ダウンロードするオブジェクトの名前です。例:pets/dog.png
。[OBJECT_DESTINATION]
は、オブジェクトを保存する場所です。例:Desktop/dog.png
。
コードサンプル
C++
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
C#
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Go
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Java
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Node.js
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
PHP
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Python
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Ruby
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
REST API
JSON API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を設定します。
リクエストに、請求先プロジェクトの ID を設定した
userProject
クエリ文字列パラメータを含めます。curl -X GET \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ -o "[SAVE_TO_LOCATION]" \ "https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?alt=media&userProject=[PROJECT_ID]"
ここで
[OAUTH2_TOKEN]
は、手順 1 で生成したアクセス トークンです。[SAVE_TO_LOCATION]
は、オブジェクトを保存する場所です。例:Desktop/dog.png
。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。[OBJECT_NAME]
は、ダウンロードするオブジェクトの名前です。例:pets/dog.png
。[PROJECT_ID]
は、課金対象のプロジェクトの ID です。例:my-project
。
XML API
- OAuth 2.0 Playground から承認アクセス トークンを取得します。固有の OAuth 認証情報を使用するように Playground を設定します。
リクエストに、請求先プロジェクトの ID を設定した
x-goog-user-project
ヘッダーを含めます。curl -X GET \ -H "Authorization: Bearer [OAUTH2_TOKEN]" \ -H "x-goog-user-project: [PROJECT_ID]" \ -o "[SAVE_TO_LOCATION]" \ "https://storage.googleapis.com/[BUCKET_NAME]/[OBJECT_NAME]"
ここで
[OAUTH2_TOKEN]
は、手順 1 で生成したアクセス トークンです。[PROJECT_ID]
は、課金対象のプロジェクトの ID です。例:my-project
。[SAVE_TO_LOCATION]
は、オブジェクトを保存する場所です。例:Desktop/dog.png
。[BUCKET_NAME]
は、該当するバケットの名前です。例:my-bucket
。[OBJECT_NAME]
は、ダウンロードするオブジェクトの名前です。例:pets/dog.png
。