You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用Pub/Sub推送授权后端点无法接收通知且未确认消息数上涨

问题根因及排查方案

核心常见原因

  • 权限角色不匹配:你当前授予的Cloud Functions Invoker、Cloud Run Invoker等角色仅适用于GCP托管的Cloud Functions、Cloud Run端点,如果你用的是自定义域名的独立服务端点,上述角色完全不生效,不属于必要配置。
  • 端点侧JWT验证失败:Pub/Sub推送请求会在Authorization头携带OIDC令牌,只要端点侧验证环节任意一步出错(签名校验不通过、受众不匹配、发行方验证失败、令牌过期),都会返回401/403状态码,Pub/Sub会判定投递失败,不会确认消息,触发持续重试。
  • 状态码不符合投递成功规则:Pub/Sub推送模式仅将2xx状态码判定为投递成功,会确认消息并从队列移除;只要返回4xx(除429外)、5xx状态码、请求超时,都会判定为投递失败,消息重回队列待重试。
  • 订阅配置错误:需确认推送订阅绑定的服务账号和你授权的服务账号完全一致,同时配置的Audience值和你端点侧校验的受众值完全匹配,哪怕末尾多一个斜杠都会导致验证失败。
  • 重试策略放大堆积:你当前配置的立即重试策略会在投递失败后立刻重试,持续失败的场景下会快速推高未确认消息数。

可落地排查步骤

  • 优先查询Cloud Logging日志,使用过滤器resource.type="pubsub_subscription" AND log_id("pubsub.googleapis.com/push_request"),查看具体的投递错误类型,是身份认证错误、超时还是服务端错误。
  • 临时关闭端点的身份验证功能,观察未确认消息数是否停止上涨,若恢复正常则可直接定位问题出在身份验证环节。
  • 校验Pub/Sub推送携带的令牌:解码令牌的payload字段,确认发行方为accounts.google.com或pubsub.googleapis.com、受众值和配置完全一致、令牌未过期,再使用Google公开的OIDC公钥验证签名有效性。
  • 临时将重试策略调整为指数退避重试,避免未确认消息数过快上涨影响业务。

内容的提问来源于stack exchange,提问作者Pankaj Verna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:54:02