本頁說明如何啟用及停用要求者付費,以及如何檢查值區是否已啟用要求者付費。
必要的角色
如要取得設定及管理「要求者付費」所需的權限,請要求管理員在含有 bucket 的專案中,授予您「儲存空間管理員」(roles.storage.Admin) 角色。
這個角色具備設定及管理「要求者付費」所需的權限。 如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
storage.buckets.getstorage.buckets.updateresourcemanager.projects.createBillingAssignment- 只有在停用「要求者付費」功能時,您沒有可用的帳單帳戶,才需要這項權限。詳情請參閱「使用及存取需求」。
如需授予專案角色的操作說明,請參閱「授予或撤銷角色」。
設定要求者付費功能
如要在值區上啟用或停用要求者付費功能,請按照下列步驟操作:
控制台
- 前往 Cloud de Confiance 控制台的「Cloud Storage bucket」頁面。
在值區清單中找到要設定的值區,然後找出「Requester pays」(要求者付費) 欄。
該欄中的值表示該值區目前的要求者付費狀態。
按一下值區目前的要求者付費狀態。
在顯示的視窗中,按一下「開啟」或「關閉」,視您要為「要求者付費」設定的狀態而定。
啟用後,值區的「Requester pays」(要求者付費) 欄中隨即顯示綠色泡泡和「On」(開啟)。停用後,該欄會顯示灰色泡泡和「Off」。
如要瞭解如何透過 Cloud de Confiance 控制台取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」一文。
指令列
使用 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 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
C#
詳情請參閱「Cloud Storage C# API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
Java
詳情請參閱「Cloud Storage Java API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
Node.js
詳情請參閱「Cloud Storage Node.js API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
Python
詳情請參閱「Cloud Storage Python API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
Ruby
詳情請參閱「Cloud Storage Ruby API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
Rust
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
REST API
JSON API
安裝並初始化 gcloud CLI,以便為
Authorization標頭產生存取權杖。建立包含下列資訊的 JSON 檔案:
{ "billing": { "requesterPays": STATE } }
其中 STATE 為
true或false。使用
cURL來透過PATCH值區要求呼叫 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.s3nsapis.fr/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透過PUT值區要求和billing查詢字串參數來呼叫 XML API:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/BUCKET_NAME?billing"
其中:
XML_FILE_NAME是您在步驟 2 建立的 XML 檔案路徑。BUCKET_NAME是相關值區的名稱。例如:my-bucket。
檢查是否已啟用要求者付費
如何檢查值區是否已啟用要求者付費:
控制台
- 前往 Cloud de Confiance 控制台的「Cloud Storage bucket」頁面。
在值區清單中,每個值區的要求者付費狀態都會顯示在「Requester Pays」(要求者付費) 欄中。
如果已啟用,狀態為綠色並顯示「On」(開啟) 字樣。
指令列
使用加上 --format 旗標的 gcloud storage buckets describe 指令:
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 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
C#
詳情請參閱「Cloud Storage C# API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
詳情請參閱「Cloud Storage Java API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
詳情請參閱「Cloud Storage Node.js API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
詳情請參閱「Cloud Storage Python API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Rust
REST API
JSON API
XML API
存取要求者付費值區
以下範例說明如何納入計費專案,以便您下載儲存在要求者付費值區中的物件。請利用類似的程序在要求者付費值區或其中的物件上執行其他要求。如需必要條件資訊,請參閱要求者付費存取需求條件。
控制台
- 前往 Cloud de Confiance 控制台的「Cloud Storage bucket」頁面。
在 bucket 清單中,點選含有要下載物件的 bucket 名稱。
在隨即顯示的視窗中,使用下拉式選單選取計費的專案。
勾選核取方塊以確認您已獲授權可將所選的專案用於計費用途。
按一下 [Save] (儲存)。
按照平常方式下載物件。
如要瞭解如何透過 Cloud de Confiance 控制台取得 Cloud Storage 作業失敗的詳細錯誤資訊,請參閱「疑難排解」一文。
指令列
在要求中使用 --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 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
C#
詳情請參閱「Cloud Storage C# API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
詳情請參閱「Cloud Storage Go API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
詳情請參閱「Cloud Storage Java API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
詳情請參閱「Cloud Storage Node.js API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
詳情請參閱「Cloud Storage PHP API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
詳情請參閱「Cloud Storage Python API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
詳情請參閱「Cloud Storage Ruby API 參考文件」。
如要向 Cloud Storage 進行驗證,請設定應用程式預設憑證。詳情請參閱「設定用戶端程式庫的驗證作業」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
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.s3nsapis.fr/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是您要下載物件的網址編碼名稱。例如pets/dog.png,網址編碼為pets%2Fdog.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.s3nsapis.fr/BUCKET_NAME/OBJECT_NAME"
其中:
PROJECT_ID是要計費的專案 ID。例如:my-project。SAVE_TO_LOCATION是您要儲存物件的位置。例如:Desktop/dog.png。BUCKET_NAME是相關值區的名稱。例如:my-bucket。OBJECT_NAME是您要下載物件的網址編碼名稱。例如pets/dog.png,網址編碼為pets%2Fdog.png。