本頁說明如何使用 Service Consumer Management API,查看及覆寫對個別服務消費者強制執行的配額限制。
請務必熟悉服務配額模型,以便瞭解本教學課程中使用的術語。
如要根據 Service Infrastructure API 編寫程式,建議您使用我們提供的其中一種用戶端程式庫。如要試用 API,請按照本指南中的操作說明,使用 curl 指令測試 API,無需設定完整的應用程式開發環境。
顯示服務配額
如要顯示服務配額指標和限制,請按照下列步驟操作:
如要使用
gcurl,請執行下列alias指令並提供驗證權杖:alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'詳情請參閱「啟用 Service Usage API」一文。
如要查看適用於特定消費者的所有指標配額限制,請使用下列方法:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/services/SERVICE_NAME/projects/PROJECT_ID/consumerQuotaMetrics更改下列內容:
SERVICE_NAME:服務名稱。PROJECT_ID:感興趣的消費者專案 ID。
這項呼叫會傳回服務定義的指標清單,每個指標都包含適用於這個消費者的指標限制清單、這些限制的值,以及任何覆寫。回覆範例如下:
{ "metrics": [ { "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests", "metric": "airport_requests", "displayName": "Airport Requests", "consumerQuotaLimits": [ { "name": "services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject", "metric": "airport_requests", "unit": "1/min/{project}", "quotaBuckets": [ { "effectiveLimit": "5", "defaultLimit": "5", } ] } ], } ] }回應中的每項指標都有名稱欄位。如要檢查特定指標的配額設定,而非所有指標,請在網址中使用該指標的名稱:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/METRIC_NAME將
METRIC_NAME替換為指標的完整名稱。例如:services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests指標中的每個限制都有名稱欄位。如要檢查該指標的配額限制,而非指標的所有限制或所有指標,請在網址中使用該限制的名稱:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME將
LIMIT_NAME替換為限制的完整名稱。例如:services/myservice.appspot.com/projects/consumer-project-id/consumerQuotaMetrics/airport_requests/limits/%2Fmin%2Fproject
套用生產端覆寫設定
服務擁有者或管理員可以對特定消費者的特定限制套用生產者覆寫,藉此提高該限制的配額。
如要找出限制,請先使用上述任一方法找出感興趣的配額限制,然後使用其名稱欄位對其套用生產者覆寫:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "12345"} }'這個呼叫可用於套用新的覆寫值,或將現有覆寫值更新為新值。如要將限制的配額設為無上限,請使用「-1」做為覆寫值。
如果呼叫成功,系統會傳回作業 ID,代表配額變更正在伺服器上進行,並傳播至後端系統:
{ "name": "operations/quf.92accba3-6530-4fc1-9a95-c1280d48a6b7" }如要查看作業進度,請使用作業名稱:
gcurl https://serviceconsumermanagement.googleapis.com/v1/OPERATION_NAME如果這項呼叫傳回的訊息包含「done」:true,表示作業已完成。如果作業失敗,訊息會包含錯誤詳細資料。
您也可以對特定限制重複原始的 get 呼叫,確認變更是否已套用。現在限制必須有額外的
producerOverride欄位。
強制大幅變更配額
如果覆寫會導致強制執行的配額減少超過 10%,系統會拒絕呼叫,這是為了避免配額意外快速減少的安全措施。如要忽略這項限制,請使用強制標記:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "0"}, "force": true}'
套用區域或可用區配額覆寫
系統會針對每個區域或可用區強制執行部分配額限制;如果限制單位中出現 /{region} 或 /{zone},即表示有這類限制。
對這類限制套用覆寫會變更每個區域或可用區的基本配額。如要只變更特定區域或地帶的配額,請使用 location 欄位:
gcurl https://serviceconsumermanagement.googleapis.com/v1beta1/LIMIT_NAME/producerOverrides -d '{"override": {"override_value": "135", "dimensions": {"region": "asia-south1"} } }'