本頁面說明如何解決使用 Cloud Run 適用的 Eventarc 時可能遇到的問題。
如要瞭解其他可能遇到的問題,請參閱下列疑難排解文章:
Cloud Run 服務未收到事件
如果服務未收到事件,可以嘗試下列解決方法:
Cloud 稽核記錄事件
- 確認服務的稽核記錄已啟用「管理員讀取」、「資料讀取」和「資料寫入」存取權。
- 確認觸發條件建立後已過足夠時間。觸發條件最多可能需要兩分鐘才能開始運作。
- 請先完成必要條件,再建立 Eventarc 觸發條件。
- 確認事件篩選器不會過於嚴格。詳情請參閱「Cloud 稽核記錄的事件篩選器」。
- 透過 Logs Explorer 確認受監控的服務是否產生稽核記錄。
- 在「Cloud Run」頁面中查看 Cloud Run 記錄: 按一下您在 Cloud Run 中建立的服務,然後前往「記錄」分頁標籤。 如果記錄顯示服務收到非「OK」的狀態碼,表示 Cloud Run 服務正在拒絕事件。
Pub/Sub 訊息
- 確認已建立 Eventarc 觸發條件。
- 確認 Pub/Sub 主題已建立並附加至 Eventarc 觸發條件。
- 確認 Pub/Sub 主題存在:前往 Pub/Sub 並搜尋該主題。
- 確認觸發條件建立後已過一段時間。 觸發條件最多可能需要兩分鐘才能正常運作。
- 在「Cloud Run」頁面中查看 Cloud Run 記錄。 按一下您在 Cloud Run 中建立的服務,然後前往「記錄」分頁標籤。如果記錄顯示服務收到非 OK 程式碼,表示 Cloud Run 服務正在拒絕事件。
已設定觸發條件,但目標未收到事件
確認您傳送的事件酬載未超過事件大小限制 (512 KB)。Pub/Sub 推送訂閱項目也受限於一組資源限制,例如每個發布區域的總處理量。確保 Pub/Sub 事件酬載小於 512 KB。
找出與 Cloud Run 觸發程序相關聯的 Pub/Sub 主題。
依序前往「Pub/Sub」>「主題」。
確認 Pub/Sub 主題名稱包含所建立的觸發條件名稱。
監控訊息是否發布至主題 (使用指標:
topic/send_message_operation_count
)。如果訊息未發布至主題,請檢查 Cloud 稽核記錄,並確認受監控的服務是否發出記錄。如果系統已記錄記錄檔,但未傳送事件,請與支援團隊聯絡。監控訊息是否已順利推送,請使用以下指標:
subscription/push_request_count
由response_code
。如果系統回報推送錯誤,請檢查 Cloud Run 服務記錄。如果接收端點傳回非 OK 狀態碼,表示 Cloud Run 程式碼無法正常運作,您必須與支援團隊聯絡。
找不到 Pub/Sub 主題
Pub/Sub 主題可能已遭移除或修改。建立觸發條件時,系統會建立新的 Pub/Sub 主題,因此請刪除現有觸發條件,然後重新建立。
INVALID_ARGUMENT 服務不存在錯誤訊息
如果收到 INVALID_ARGUMENT: cloud run service "SERVICE_NAME" in region
"REGION_NAME" does not exist
錯誤訊息,表示服務帳戶已遭刪除。如果刪除目標服務的服務帳戶,系統就不會將事件傳送至 Cloud Run。建立新的 Cloud Run 服務帳戶。
Cloud Run 服務停止運作
即使 Cloud Run 服務停止運作,Pub/Sub 預設也會保留事件七天,並重試將事件傳送至目標。如要進一步瞭解 Pub/Sub 資源限制,請參閱配額與限制。
相關資訊
- 如要進一步瞭解 Eventarc,請參閱總覽。
- 如需 Eventarc 疑難排解教學課程,請參閱「使用 Eventarc 針對 Cloud Run 服務進行偵錯」。
- 如需其他協助,請參閱「取得支援」一文。