当前位置: 首页 > 知识库问答 >
问题:

如何在SNS订阅中添加SQS消息属性?

阙辰龙
2023-03-14

AWS、SNS和SQS的文档有关于消息属性的部分。但是没有解释当队列被订阅到SNS主题时如何具有SQS消息属性。

是否有一种方法可以配置AWS SNS,将特定的消息属性添加到通过订阅发送的SQS消息中?

共有1个答案

路裕
2023-03-14

当Using Amazon SNS消息属性文档将Amazon SNS消息属性发送到Amazon SQS时,这些属性似乎是在消息正文中发送的,而不是作为消息属性附加到最终的Amazon SQS消息上。

例如,我做了以下几点:

  • 创建了亚马逊SNS主题
  • 创建了Amazon SQS队列并将其订阅到SNS主题
  • 向SNS发布消息
aws sns publish --topic-arn arn:aws:sns:ap-southeast-2:123456789012:foo --message msg --subject subj --message-attributes '{"somename" : { "DataType":"String", "StringValue":"somevalue"}}'
{
  "Type" : "Notification",
  "MessageId" : "53e3adad-723a-5eae-a7b7-fc0468ec2d37",
  "TopicArn" : "arn:aws:sns:ap-southeast-2:123456789012:foo",
  "Subject" : "subj",
  "Message" : "msg",
  "Timestamp" : "2017-05-29T12:48:22.186Z",
  ...
  "MessageAttributes" : {
    "somename" : {"Type":"String","Value":"somevalue"}
  }
}
 类似资料:
  • 到目前为止,我的代码在启动时查找主题和队列,并创建缺少的任何内容。这似乎起作用了,我可以在AWS管理控制台中看到SNS主题和SQS队列,并且我可以看到队列订阅了该主题,但是当我将消息发布到该主题时,队列中没有任何东西结束。 即使我使用管理控制台中的“publish”按钮手动发布消息,队列仍然是空的。 我把主题和队列上的权限都改成了‘每个人都可以做每件事’就是为了消除这种可能性。我的代码收到一个消息

  • 我在配置了DLQ的SQS队列上有一个lambda触发器。 当我的lambda失败时,来自队列的原始消息将被重定向到DLQ。现在我想添加更多的信息到这个原始的消息(如为什么有一个错误等)。我知道我不能修改原始消息,但我看到消息可以有额外的消息属性。 如何从lambda函数(NodeJS)使用/设置它们?

  • 我正在从SNS主题向SQS发送消息。当我在客户机上检查SQS消息的正文时,整个消息元数据都是在SQS正文中发送的。 这有点烦人,因为我不得不在另一端拆分消息体。速度在这个应用程序中是非常重要的,所以我想消除这一点。有没有办法只从SNS发送消息而忽略其余的元数据? 谢谢,本

  • 我有几个。Net 5.0微服务,RabbitMQ作为消息代理。现在我正在切换到AWS SQS。很少有服务在侦听相同的消息(这是通过RabbitMQ中的Exchange完成的)。在AWS中,这可以通过将SQS队列订阅到SNS主题来实现。我创建了SNS fifo topic和SQS fifo队列,将这些队列订阅到topic。当我将消息直接发布到队列时,一切都会立即工作,但当我将消息发布到SNS主题时,

  • 微信文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/subscribe-message/subscribeMessage.addTemplate.html 组合模板并添加至帐号下的个人模板库 $tid = 563; // 模板标题 id,可通过接口获取,也可登录小程序后台查看获取 $kidLi

  • 开普勒消息目前分为三大类:公告,告警和通知。 通知中根据不同的操作事件类型,分为十几个事件。每个事件都跟项目操作相关。便于接收项目操作变更的通知。 分类 事件 公告 Alarm 告警 Proclaim 通知 Build,Apply,Audit,Delete,Rollback,Logging,Reboot,Command,Storage,Extend... 订阅界面: 用户中心,点击头像,下拉菜单→