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

AWS EventBridge Pipe对接SQS FIFO队列失败,求助排查

排查EventBridge Pipe TargetStageFailed问题

一、获取详细错误信息

  • 查看CloudWatch日志:EventBridge Pipe会自动生成对应日志组(格式通常为/aws/vendedlogs/pipes/<PipeName>),日志中会记录执行阶段的具体错误细节,比如JSON路径解析失败、权限缺失、消息格式不合法等。
  • 使用AWS CLI查询执行状态:运行命令 aws pipes describe-pipe --name integration-pipe,查看返回结果中的LastExecutionSummary字段,该字段包含最近一次执行失败的具体原因描述。
  • 检查死信队列(若已配置):如果目标FIFO队列关联了死信队列,查看死信队列中的消息,消息附带的元数据会包含发送失败的原因。

二、修复配置中的路径错误

结合你提供的Kinesis事件负载和CloudFormation配置,存在两处致命的JSON路径错误:

  1. MessageGroupId路径错误
    Kinesis事件中sfId的正确路径是$.data.sfId,但配置中写为$.data.data.sfId,多了一层冗余的data节点,导致无法提取FIFO队列必填的分组ID,直接触发发送失败。
  2. InputTemplate路径错误
    事件负载里的业务字段路径为$.data.object、$.data.eventName、$.data.id、$.data.mode,但InputTemplate中错误地写成了$.data.data.object等格式,会导致模板渲染失败,生成无效的消息内容。

修正后的TargetParameters配置示例:

TargetParameters:
  SqsQueueParameters:
    MessageDeduplicationId: "$.data.id"
    MessageGroupId: "$.data.sfId"
  InputTemplate: >
    {
      "object": <$.data.object>,
      "eventName": <$.data.eventName>,
      "id": <$.data.id>,
      "mode": <$.data.mode>
    }

三、验证权限配置

  • 确认PipeRole具备以下权限:
    • 读取Kinesis流的权限:kinesis:GetRecords、kinesis:GetShardIterator、kinesis:DescribeStream
    • 向SQS FIFO队列发送消息的权限:sqs:SendMessage
  • 检查SQS队列的访问策略,确保允许PipeRole的ARN执行sqs:SendMessage操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 10:55:25