本頁提供 Cloud Storage 的要求者付費功能總覽。
簡介
每當使用者存取 Cloud Storage 資源 (例如 bucket 或物件) 時,系統會針對提出及執行要求收取費用。這類費用包括:
一般來說,系統會向資源的專案擁有者收取這些費用;不過,如果要求者在要求中提供計費專案,系統就會改向要求者的專案收費。在值區啟用「要求者付費」功能後,您可以要求要求者在要求中加入計費專案,以便向要求者的專案收費。例如,如果您有許多資料想提供給使用者,但不想為那些使用者存取資料付費時,啟用要求者付費功能就非常有用。
未包含在內的費用
資料儲存費用 (包括提前刪除費用) 一律會套用至包含 bucket 的專案,即使已啟用「由要求者付費」也一樣。
限制
下列限制適用於要求者付費:
- 您無法使用已啟用「要求付款人」的 bucket,從 Cloud SQL 匯入及匯出資料。
- 您無法使用已啟用「要求者付費」功能的 bucket 匯出 Pub/Sub 資料。
使用及存取需求
如要在 bucket 上啟用「要求者付費」模式,請啟用 bucket 的中繼資料旗標。啟用後,只有下列使用者可以存取值區或其內容:
要求者在要求中加入計費專案。要求中使用的專案必須記錄良好,且使用者必須具備專案中的角色,該角色包含
serviceusage.services.use權限。「服務使用情形消費者」角色包含必要權限。要求者未納入計費專案,但擁有包含 bucket 的專案的
resourcemanager.projects.createBillingAssignment權限。帳單專案經理角色包含必要權限。與這些要求相關的存取費用會計入含有值區的專案帳單。
對值區的所有其他要求都會失敗,並顯示 400 UserProjectMissing 錯誤。
除了這些需求外,要求者還必須具備足夠的權限以執行所要求的動作。舉例來說,如果使用者在要求中提供有效的計費專案,但沒有明確權限 (例如該值區或包含該值區的專案具備 storage.objects.create 權限),就無法將物件上傳至值區。
停用「要求者付費」功能時,您必須在要求中加入計費專案,或具備 resourcemanager.projects.createBillingAssignment 權限。
來源計費作業
使用來源值區和目標值區的作業 (例如複製或重新寫入),會向含有來源值區的專案收取費用。在大部分情況下,例如使用 JSON 和 XML API 直接呼叫,如果來源值區已啟用要求者付費功能,您只需要納入計費專案即可。
在某些情況下 (例如 gcloud storage cp 含有 --no-clobber 旗標),如果來源值區或目的地值區 (或兩者) 啟用了「要求者付費」功能,您就必須加入計費專案。這是因為這類作業在執行動作時,會同時呼叫來源和目的地 buckets。
多要求作業
如果作業需要多個要求才能完成,則要求中使用帳單專案時,會有下列行為:
如果是支援續傳的上傳作業,只有第一個要求需要包含計費專案,且該專案會套用至整個上傳作業。系統會忽略後續要求中指定的計費專案。
如果是使用 JSON API 進行重寫和使用 XML API 進行多部分上傳,每個要求都可以使用不同的計費專案,且先前要求中指定的計費專案不會套用至後續要求。
帳單
在要求中納入計費專案而產生的相關費用,不會單獨列在帳單中。舉例來說,假設您從「要求者付費」值區下載多個項目,並使用專案 my-project 做為要求的計費專案。如果 my-project 也包含您執行下載作業的 bucket,帳單只會顯示合併下載作業的總費用。不會分開顯示您自有值區的下載及要求者付費值區的下載。
如果您想將自己的 Cloud Storage 資源產生的費用,與在要求中納入計費專案的費用區分開,應建立專案且此專案不包含任何 Cloud Storage 資源:這個專案就專用於對其他專案中的資源提出要求,例如要求者付費值區。