本页面介绍如何解决您在使用 Eventarc for Cloud Run 时可能遇到的问题。
有关您可能会遇到的其他问题,请参阅以下问题排查页面:
Cloud Run 服务未收到事件
如果服务未收到事件,以下解决方法可能有用:
Cloud Audit Logs 事件
- 检查是否已为服务的审核日志启用管理员读取、数据读取和数据写入访问权限。
- 确认创建触发器以后等待了足够长的时间。触发器最长可能需要两分钟才能正常运行。
- 满足 Eventarc 触发器创建的前提条件。
- 确认事件过滤器没有过于严格。如需了解详情,请参阅 Cloud Audit Logs 的事件过滤条件。
- 通过 Logs Explorer 确认受监控服务在生成审核日志。
- 检查 Cloud Run 页面上的 Cloud Run 日志: 点击您在 Cloud Run 中创建的服务,然后导航到日志标签页。 如果日志显示服务收到不正常状态代码,则表示 Cloud Run 服务拒绝了事件。
Pub/Sub 消息
- 确认 Eventarc 触发器已创建。
- 确认 Pub/Sub 主题已创建并关联到 Eventarc 触发器。
- 确认 Pub/Sub 主题存在:转到 Pub/Sub 并搜索该主题。
- 确认创建触发器以后等待了足够长的时间。 触发器最长可能需要两分钟才能正常运行。
- 检查 Cloud Run 页面上的 Cloud Run 日志。 点击您在 Cloud Run 中创建的服务,然后导航到日志标签页。 如果日志显示服务收到不正常代码,则表示 Cloud Run 服务拒绝了事件。
已设置触发器,但目标未收到事件
确认发送的事件载荷未超过事件大小 (512KB) 的限制。Pub/Sub 推送订阅也受一组资源限制的约束,例如每个发布区域的吞吐量。这可确保 Pub/Sub 事件载荷小于 512KB。
找到与 Cloud Run 触发器关联的 Pub/Sub 主题。
转到 Pub/Sub > 主题。
验证 Pub/Sub 主题名称包含已创建的触发器的名称。
使用
topic/send_message_operation_count
指标监控消息是否发布到主题。如果消息未发布到主题,请检查 Cloud Audit Logs 并确保受监控服务正在发出日志。如果记录了日志,但事件未被传送,请与支持团队联系。使用按
response_code
分组的subscription/push_request_count
指标监控消息是否成功推送。如果报告了推送错误,请检查 Cloud Run 服务日志。如果接收端点返回不正常状态代码,则表示 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 服务。
- 如需获取其他帮助,请参阅获取支持。