我有一个要求,我需要通过将其发布到SNS来从api A发送一些入站http查询参数,而其他api B已订阅sns,它应该在其中获取查询参数。
有什么办法可以实现?
注意:发布到SNS时,我有一个固定的消息结构,无法更改,因为我已经有其他端点在订阅SNS,因此需要依赖它。
正如Michael提到的,我们可以使用lambda。但我不想使用aws提供的其他服务。我只想使用SNS就能达到相同的效果。我听说过SNS消息属性,但不确定是否可以使用它来达到相同的目的。
谢谢。
答案 0 :(得分:2)
SNS不支持自定义HTTP事务或以其他方式修改正在传递的消息...但是SNS确实支持针对Lambda函数的订阅。
这意味着您可以编写一个Lambda函数来解析SNS事件有效负载...,然后,您的Lambda函数可以根据需要自定义向目标端点发出HTTPS请求,而不是SNS通过HTTPS与目标系统联系。如果HTTPS请求失败,或者端点返回错误,则Lambda函数应引发异常,以便Lambda可以重试。