【发布时间】:2022-03-04 01:41:51
【问题描述】:
我有一个标准的 SNS 主题,并且我设置了这样的“订阅过滤策略”:
{
"event": [
"eventName"
]
}
当我使用属性消息通过 AWS 控制台发布消息时,该消息会发送到正确的 SQS 订阅者。所以订阅过滤器工作得很好。
现在我正在尝试对我的 java 代码(Spring Boot)做同样的事情。
我正在使用 lib spring-cloud-aws-messaging,据我了解它只是 AWS JDK 的包装器。
问题是我不知道如何像在 AWS 控制台上那样设置消息属性。
我发送给 SNS 的 JSON 格式无关紧要,属性始终位于 SNS 消息的正文中。我想有一个特定的方法来设置这些属性。
我找到com.amazonaws.services.sns.model.MessageAttributeValue
我不确定是否是正确的类,我也无法理解如何发布消息和属性,因为方法 publish 不接受它。
this.amazonSNS.publish(this.snsTopicARN, message, messageAttributes ???);
【问题讨论】:
标签: java amazon-web-services spring-cloud amazon-sns spring-cloud-aws