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

如何在AWS Step Functions中配置带过滤策略的SNS消息推送?

在AWS Step Functions的ASL中配置SNS消息属性以匹配过滤策略

你已经在SQS订阅SNS Topic时配置了基于transaction_no的过滤策略,Step Functions这边只需要在发布SNS消息时携带对应的消息属性,SNS就会自动根据过滤策略把消息推送给符合条件的SQS队列。

以下是正确的ASL配置代码:

{
  "Type": "Task",
  "Resource": "arn:aws:states:::sns:publish",
  "Parameters": {
    "TopicArn": "arn:aws:sns:us-west-2:111122223333:MySNSTopic",
    "Message": "{\"transaction_no\": \"12345\", \"message_body\": \"This is a test message.\"}",
    "Subject": "Test Message",
    "MessageAttributes": {
      "transaction_no": {
        "DataType": "String",
        "StringValue": "12345"
      }
    }
  },
  "Next": "NextState"
}

关键配置说明

  • MessageAttributes是核心字段,用来定义SNS消息的属性,这是过滤策略生效的依据
  • DataType必须和你在SQS过滤策略中定义的类型一致(示例中为字符串类型)
  • StringValue设置为需要匹配的transaction_no具体值,比如示例中的"12345"

额外注意

  • 过滤策略本身是在SQS订阅SNS Topic时配置的,不需要在ASL中重复定义
  • 只有当消息携带的transaction_no属性值符合SQS订阅的过滤规则时,消息才会被推送到该SQS队列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:55:15