本頁說明如何啟用及停用要求者付費,以及如何檢查值區是否已啟用要求者付費。
必要的角色
如要取得設定及管理「要求者付費」所需的權限,請要求管理員在含有該值區的專案中,授予您「儲存空間管理員」角色 (roles.storage.Admin
)。
這個角色包含設定及管理「要求者付費」所需的權限。 如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
storage.buckets.get
storage.buckets.update
resourcemanager.projects.createBillingAssignment
- 只有在停用「要求者付費」功能時,您沒有可用的帳單帳戶,才需要這項權限。詳情請參閱「使用及存取需求」。
如需專案角色授予方式的說明,請參閱授予或撤銷角色。
設定要求者付費功能
如要在值區上啟用或停用要求者付費功能,請按照下列步驟操作:
控制台
- 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在值區清單中找到要設定的值區,然後找出「Requester pays」(要求者付費) 欄。
該欄中的值表示該值區目前的要求者付費狀態。
按一下值區目前的要求者付費狀態。
在顯示的視窗中,按一下「開啟」或「關閉」,視您要為「要求者付費」設定的狀態而定。
啟用後,值區的「Requester pays」(要求者付費) 欄中隨即顯示綠色泡泡和「On」(開啟)。停用後,該欄會顯示灰色泡泡和「Off」(關閉)。
如要瞭解如何透過 Google Cloud 控制台取得 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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
下例示範如何啟用值區的要求者付費功能:
下例示範如何停用值區的要求者付費功能:
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
透過PUT
值區要求和billing
查詢字串參數呼叫 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 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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
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
存取要求者付費值區
以下範例說明如何納入計費專案,以便您下載儲存在要求者付費值區中的物件。請利用類似的程序在要求者付費值區或其中的物件上執行其他要求。如需必要條件資訊,請參閱要求者付費存取需求條件。
控制台
- 在 Google Cloud 控制台,前往「Cloud Storage bucket」頁面。
在值區清單中,點選含有要下載物件的值區名稱。
在隨即顯示的視窗中,使用下拉式選單選取計費的專案。
勾選核取方塊以確認您已獲授權可將所選的專案用於計費用途。
按一下 [Save] (儲存)。
按照平常方式下載物件。
如要瞭解如何透過 Google Cloud 控制台取得 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,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
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
是要下載物件的網址編碼名稱。例如pets/dog.png
,網址編碼為pets%2Fdog.png
。PROJECT_IDENTIFIER
是要計費的專案 ID 或編號。例如:my-project
。
XML API
在要求中加入設為計費專案 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
是要下載物件的網址編碼名稱。例如pets/dog.png
,網址編碼為pets%2Fdog.png
。