配額與限制

本文列出工作流程適用的配額和系統限制。

  • 配額會指定您可使用的可計數共用資源數量。配額是由 Google Cloud 服務 (例如 Workflows) 定義。
  • 系統限制是無法變更的固定值。

Google Cloud 會使用配額來確保公平性,並減少資源使用量和可用性暴增的情況。配額會限制專案可使用的Google Cloud 資源 Google Cloud 數量。配額適用於各種資源類型,包括硬體、軟體和網路元件。舉例來說,配額可以限制對服務發出的 API 呼叫數、專案並行使用的負載平衡器數量,或是可建立的專案數量。配額可以預防服務過載,進而保障Google Cloud 使用者社群的權益。配額也能協助您管理自己的 Google Cloud 資源。

Cloud Quotas 系統會執行下列操作:

在大多數情況下,如果您嘗試使用的資源超過配額,系統會封鎖資源存取權,導致您嘗試執行的工作失敗。

配額通常是在 Google Cloud 專案 層級套用。在一個專案中使用資源,不會影響另一個專案的可用配額。在 Google Cloud 專案中,所有應用程式和 IP 位址會共用配額。

此外,Workflows 資源也有系統限制。 系統限制無法變更。

配額

Workflows 會針對每個 Google Cloud專案強制實行下列配額。您可以增加或減少這些配額

配額 說明
工作流程總數 每個專案可部署的工作流程數量上限 10,000
並行執行作業

每個區域和專案的有效工作流程執行作業數量上限。並行執行是指已啟動但尚未完成或失敗的執行作業,包括等待回呼或休眠的作業。

達到配額後,如果預設啟用執行作業積壓功能 (少數例外),系統會以 QUEUED 狀態建立執行作業。如果停用執行作業積壓功能,或達到積壓執行作業的配額,任何新的執行作業都會失敗,並傳回 HTTP 429 Too many requests 狀態碼。詳情請參閱「 管理執行作業的積壓工作」。

10,000
積壓的執行作業 每個區域和專案的待處理工作流程執行作業數量上限。

詳情請參閱「 管理執行作業的積壓工作」。

100,000
Workflow API 請求 專案內所有工作流程每分鐘對每個位置發出的 API 要求 (createupdatelistgetdelete) 數量上限 1,200
Execution API get 要求 專案內所有工作流程中,每分鐘每個位置對get工作流程執行作業發出的要求數量上限 6,000
Execution API list 要求 專案內所有工作流程中,對list工作流程執行作業發出的要求數量上限 (每個位置每分鐘) 1,200
Execution API write 要求 專案內所有工作流程中,每分鐘每個位置對createcancel工作流程執行作業 (包括 Eventarc 觸發的執行作業) 發出的要求數量上限。

如果 Eventarc 觸發的執行作業超過上限,系統會按照 Eventarc 重試政策重試事件。

6,000
Execution API get step entries 要求 工作流程執行作業中,每個位置每分鐘對步驟項目發出的 get 要求數量上限 6,000
Execution API list step entries 要求 工作流程執行作業每分鐘對每個位置的list步驟項目要求數量上限 1,200
Execution API 匯出資料要求 工作流程執行作業對 export data 發出的要求數量上限 (每個位置每分鐘) 10
回呼端點發出的 HTTP 要求 專案內所有工作流程中,對執行作業資源發出的 SendHttpCallback API 要求數量上限 (每個位置每分鐘) 1,500
Execution API list 回呼要求 工作流程執行作業對 list 回呼發出的要求數量上限 (每個位置每分鐘) 300

配額提高要求

如要增加或減少配額,請使用 Google Cloud 控制台。詳情請參閱「要求增加配額」。

監控配額用量

您可以查詢及監控配額用量指標。如需範例,請參閱「監控配額指標」,瞭解如何查詢工作流程消耗的總分配配額。如要瞭解如何監控配額用量指標,請參閱「繪製及監控配額指標」。

步驟限制

Workflows 會針對各項工作流程強制實行下列步驟限制。 你無法要求變更下列限制:

限制 說明
每個步驟的指派作業數量 單一步驟中可執行的指派作業數量上限 50
每個交換式區塊的條件 單一交換式區塊中可評估的條件數量上限 50
呼叫堆疊深度上限 呼叫函式的層級數上限。舉例來說,子工作流程呼叫自身或其他子工作流程,或是標準程式庫函式呼叫其他函式 20
步驟數量下限 工作流程中的步驟數量下限 1
步數上限 單次工作流程執行作業可執行的步驟數量上限 100,000

平行步驟限制

使用平行步驟時,工作流程會強制執行下列限制。 你無法要求變更下列限制:

限制 說明
每個步驟的分支數 平行步驟中支援的分支數量上限 10
平行深度 平行步驟可巢狀化的最大深度 2
並行分支和疊代

單次工作流程執行作業可同時執行的分支和疊代次數上限。超過上限後,系統會自動將其他分支和疊代排入佇列,等待一或多個執行中的執行緒完成作業。

執行緒總數沒有限制,但仍須遵守所有其他限制。

20
並行步驟中未捕捉到的例外狀況 工作流程執行期間可引發的未處理例外狀況數量上限 (總計) 100

資源限制

工作流程採行的用量限制如下:您無法要求變更下列限制:

限制 說明
原始碼大小 定義工作流程的 YAML 或 JSON 檔案大小上限 128 KB
回應大小 HTTP 回應大小上限 (如果儲存至變數,則適用變數的記憶體限制) 2 MB
運算式長度 單一運算式的字元數量上限 400 個字元
資料大小 變數、引數和事件的累計大小上限: 512 KB
  • 定義某一工作流程單一執行作業所有變數可使用的記憶體上限
  • 建立工作流程執行作業時可傳遞的引數大小上限
  • 使用事件觸發工作流程執行作業時,可傳遞的 Eventarc 酬載大小上限
以 UTF-8 編碼時,字串長度上限 (以位元組為單位) 256 KB
環境變數 使用者定義環境變數定義字串 (KEY=value) 的大小上限;最多可定義 20 個變數 4 KiB
執行作業時間長度 工作流程執行作業的持續時間上限 (從開始時間到結束時間);任何超過此限制的工作流程都會出現逾時錯誤 1 年
執行作業保留期限 工作流程執行作業完成後,執行作業記錄和結果的最長保留期限 90 天
清除重複工作的時間長度 重複資料刪除時間範圍,確保使用事件觸發工作流程執行時,系統只會處理一次 24 小時