我想知道为什么我的 Amazon EventBridge 规则没有调用我的 API 目标。
解决方法
要识别任何调用失败,必须设置死信队列 (DLQ)。DLQ 消息包含 ERROR_CODE 和 ERROR_MESSAGE 属性,可帮助您了解目标调用失败的原因。
IAM 角色没有正确的权限
确保与 API 目标关联的 AWS Identity and Access Management (IAM) 角色在其策略中具有 events:InvokeApiDestination 权限。有关详细信息,请参阅对 Amazon EventBridge 使用基于身份的策略(IAM 策略)。
您没有正确配置 API 目标点
向 API 目标端点发送的 EventBridge 请求的最大客户端执行超时时间必须为 5 秒。如果目标端点的响应时间超过 5 秒,则 EventBridge 会使请求超时。EventBridge 对超时请求进行重试,但不超过您在重试策略中配置的最大值。默认情况下,最大值为 24 小时,最多 185 次。如果您未设置 DLQ,则 EventBridge 会在达到最大重试次数后丢弃事件。
确保 API 目标端点不会阻止来自 EventBridge 的流量。确认端点使用有效的 SSL 证书。
API 目标处于 Inactive(非活动)状态,连接授权为 DEAUTHORIZED(取消授权)
当您使用具有 OAuth 授权类型的连接时,只有当您的授权端点返回 401 或 407 响应时,EventBridge 才会刷新 OAuth 令牌。如果您的授权端点发送任何其他响应代码,例如 403 响应,则 EventBridge 会将连接更改为 DEAUTHORIZED(取消授权)状态。
检查您的授权端点日志以确定失败的原因。
相关信息
How can I use a dead-letter queue to troubleshoot FailedInvocations for EventBridge rules?