限制與配額

請按照本指南瞭解使用 Data Manager API 時的限制和配額。

專案限制

您必須擁有 Google Cloud 專案,才能使用 Data Manager API。Google Cloud 雲端專案會提供 OAuth 用戶端和憑證,用於驗證 API 要求。

Data Manager API 會對每個 Google Cloud 專案強制執行頻率限制,並依服務和作業類型 (讀取與變更) 區分:

服務 作業 每日要求數 每分鐘要求數
IngestionService 更改 (寫入) 100,000 300
IngestionService 讀取 100,000 300
所有其他服務總和 更改 (寫入) 50,000 次 300
所有其他服務總和 讀取 50,000 次 300

超過限制的要求會遭到拒絕,並傳回錯誤 RESOURCE_EXHAUSTED 和 HTTP 狀態 429 Too Many Requests。

您可以主動減少要求數量,並從用戶端限制 QPS,藉此控管應用程式並降低頻率限制。您也可以在 Google Cloud 控制台中設定配額警告和監控,在應用程式達到限制前收到通知。

配額名稱

每項限制都對應到 Google Cloud 中的配額限制名稱和指標。如果要求超出限制,Data Manager API 會在 metadata.quota_limit 下方的 ErrorInfo 標準詳細資料酬載中,傳回配額限制名稱:

配額限制名稱 服務 作業 視窗 限制
IngestionMutateRequestsPerDayPerProject IngestionService 更改 天 100,000
IngestionMutateRequestsPerMinutePerProject IngestionService 更改 分鐘 300
IngestionReadRequestsPerDayPerProject IngestionService 讀取 天 100,000
IngestionReadRequestsPerMinutePerProject IngestionService 讀取 分鐘 300
ManagementMutateRequestsPerDayPerProject 所有其他服務 更改 天 50,000 次
ManagementMutateRequestsPerMinutePerProject 所有其他服務 更改 分鐘 300
ManagementReadRequestsPerDayPerProject 所有其他服務 讀取 天 50,000 次
ManagementReadRequestsPerMinutePerProject 所有其他服務 讀取 分鐘 300

檢查 ErrorInfo 酬載中的 metadata.quota_limit,區分每日和每分鐘限制錯誤,並判斷是否要暫時暫停並重試 (採用輪詢機制),或暫停到每日配額重設為止。詳情請參閱「配額和頻率限制錯誤」。

處理頻率限制和並行

如要盡可能提高處理量,同時不超過專案配額,請遵循下列指南:

  • 每個要求批次處理記錄:在每個要求中盡可能加入多筆記錄,最多不超過要求限制 (每個要求最多 10,000 個 AudienceMember 資源或 2,000 個 Event 資源)。

  • 最多傳送 10 項並行要求:如要縮短總擷取時間,同時不超過每分鐘 300 項要求的限制,請最多傳送 10 項並行要求至 IngestionService。

  • 使用輪詢重試每分鐘頻率限制:如果要求失敗,並顯示 RESOURCE_EXHAUSTED (HTTP 429),且 metadata.quota_limit 指出每分鐘限制 (例如 IngestionMutateRequestsPerMinutePerProject),請使用指數輪詢和抖動重試 (例如,在重試之間等待 1 秒、2 秒和 4 秒)。

  • 每日配額用盡時暫停:如果 metadata.quota_limit 指出每日上限 (例如 IngestionMutateRequestsPerDayPerProject),請勿立即重試。暫停要求,直到每日配額在太平洋時間午夜重設。

要求限制

以下是特定要求的限制: