本頁說明如何解決使用 Eventarc for Workflows 時可能遇到的問題。
如要瞭解其他可能遇到的問題,請參閱下列疑難排解文章:
工作流程目標不存在,因此無法建立觸發條件
您會收到類似以下的錯誤訊息:
cloud workflow "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID" does not exist
PROJECT_ID
:您的 Google Cloud 專案 IDLOCATION
:工作流程的位置WORKFLOW_ID
:工作流程名稱
如果 Eventarc 找不到目標工作流程,就會發生這種情況。 解決方法如下:
確認目標工作流程存在且為「有效」狀態:
gcloud workflows list --location -
輸出內容應與下列內容類似:
NAME STATE REVISION_ID UPDATE_TIME projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_ID ACTIVE 000004-c0c 2021-11-19T14:29:27.530185556Z
建立觸發條件時,請確認您提供的流程 ID 和流程位置正確無誤。
已成功建立觸發條件,但目標未收到事件
確認觸發條件建立後已過足夠時間。系統最多可能需要兩分鐘的時間才會傳送事件。
如果觸發條件仍無法運作,且系統未傳送事件,請採取下列行動:
從 Pub/Sub 傳送至目標的事件可能會遭到捨棄。為確保事件不會遭到捨棄,請設定 Pub/Sub 訂閱重試政策,或將未傳送的訊息轉送至死信主題 (也稱為死信佇列)。
設定無效信件主題前,請先擷取觸發條件的主題和訂閱項目:
gcloud eventarc triggers describe TRIGGER \ --location=LOCATION
更改下列內容:
TRIGGER
:觸發條件的 ID 或完整 ID。LOCATION
:Eventarc 觸發條件的位置。
使用 Google Cloud 控制台監控訊息是否已發布至 Pub/Sub 主題,並使用指標:
topic/send_message_operation_count
。如果訊息未發布至 Pub/Sub 主題,請確認來源是否產生事件:
- 如果是 Cloud 稽核記錄的事件,請檢查記錄,並確認受監控的服務正在寫入記錄。如果系統已記錄記錄檔,但未傳送事件,請與支援團隊聯絡。
如要查看 Cloud Storage 傳出的事件,請檢查值區的通知:
將gcloud storage buckets notifications list gs://BUCKET_NAME
BUCKET_NAME
替換為 bucket 名稱。
輸出內容應與下列內容類似:projects/_/buckets/BUCKET_NAME/notificationConfigs/NOTIFICATION_CONFIG_ID Cloud Pub/Sub topic: projects/PROJECT_ID/topics/TOPIC_ID Filters: Event Types: OBJECT_ARCHIVE
這項輸出內容包含下列值:
TOPIC_ID
:現有 Pub/Sub 主題的 ID。NOTIFICATION_CONFIG_ID
:通知設定的 ID。
如果系統正在傳送事件,但未觸發任何工作流程執行作業,這可能是因為未經驗證的呼叫所致。請確認觸發程序已與有權建立工作流程執行的服務帳戶建立關聯。如需更多資訊,請按照「準備建立觸發程序」一節中的操作說明,為特定供應商、事件類型和 Workflows 目的地建立觸發程序時,建立使用者管理的服務帳戶。
如果訊息已發布至 Pub/Sub 主題,但未觸發任何工作流程執行作業,請確認 Eventarc 酬載未超過 512 KB。如要進一步瞭解資源限制,請參閱「配額與限制」。
前往 Cloud 控制台的「訂閱項目」頁面。
監控訂閱項目中未確認的訊息。詳情請參閱「監控轉寄的無法傳送郵件」。
如有未確認的訊息,請監控工作流程記錄檔中的
TriggerPubsubExecution
方法。如要進一步瞭解如何查看工作流程記錄,請參閱「查看工作流程記錄」。- 使用篩選器
Permission 'workflows.executions.create' denied
確認觸發條件是否與有權觸發工作流程執行的服務帳戶建立關聯。如要進一步瞭解如何將適當的角色授予服務帳戶,請按照「準備建立觸發程序」一節中的操作說明,為特定供應商、事件類型和 Workflows 目的地建立觸發程序。 - 使用
event size exceeded
關鍵字,確認事件大小是否超過 512 KB。
- 使用篩選器
如果系統已記錄記錄檔,但未傳送事件,請與支援團隊聯絡。