排解 Cloud Run 適用的 Eventarc 問題

本頁面說明如何解決使用 Cloud Run 適用的 Eventarc 時可能遇到的問題。

如要瞭解其他可能遇到的問題,請參閱下列疑難排解文章:

Cloud Run 服務未收到事件

如果服務未收到事件,可以嘗試下列解決方法:

Cloud 稽核記錄事件

  • 確認服務的稽核記錄已啟用「管理員讀取」、「資料讀取」和「資料寫入」存取權。

    前往「稽核記錄」

  • 確認觸發條件建立後已過足夠時間。觸發條件最多可能需要兩分鐘才能開始運作。
  • 請先完成必要條件,再建立 Eventarc 觸發條件。
  • 確認事件篩選器不會過於嚴格。詳情請參閱「Cloud 稽核記錄的事件篩選器」。
  • 透過 Logs Explorer 確認受監控的服務是否產生稽核記錄。

    前往「Logs Explorer」頁面

  • 在「Cloud Run」頁面中查看 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

    按一下您在 Cloud Run 中建立的服務,然後前往「記錄」分頁標籤。如果記錄顯示服務收到非 OK 程式碼,表示 Cloud Run 服務正在拒絕事件。

已設定觸發條件,但目標未收到事件

  • 確認您傳送的事件酬載未超過事件大小限制 (512 KB)。Pub/Sub 推送訂閱項目也受限於一組資源限制,例如每個發布區域的總處理量。確保 Pub/Sub 事件酬載小於 512 KB。

  • 找出與 Cloud Run 觸發程序相關聯的 Pub/Sub 主題。

    1. 依序前往「Pub/Sub」>「主題」。

      前往「主題」

    2. 確認 Pub/Sub 主題名稱包含所建立的觸發條件名稱。

  • 監控訊息是否發布至主題 (使用指標:topic/send_message_operation_count)。如果訊息未發布至主題,請檢查 Cloud 稽核記錄,並確認受監控的服務是否發出記錄。如果系統已記錄記錄檔,但未傳送事件,請與支援團隊聯絡

  • 監控訊息是否已順利推送,請使用以下指標:subscription/push_request_countresponse_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 資源限制,請參閱配額與限制