通过AWS SNS服务从一个端点到另一个端点的HTTP标头

时间:2018-10-31 10:33:26

标签: amazon-web-services http amazon-sns

我有一个要求,我需要通过将其发布到SNS来从api A发送一些入站http查询参数,而其他api B已订阅sns,它应该在其中获取查询参数。

有什么办法可以实现?

注意:发布到SNS时,我有一个固定的消息结构,无法更改,因为我已经有其他端点在订阅SNS,因此需要依赖它。

正如Michael提到的,我们可以使用lambda。但我不想使用aws提供的其他服务。我只想使用SNS就能达到相同的效果。我听说过SNS消息属性,但不确定是否可以使用它来达到相同的目的。

谢谢。

1 个答案:

答案 0 :(得分:2)

SNS不支持自定义HTTP事务或以其他方式修改正在传递的消息...但是SNS确实支持针对Lambda函数的订阅。

这意味着您可以编写一个Lambda函数来解析SNS事件有效负载...,然后,您的Lambda函数可以根据需要自定义向目标端点发出HTTPS请求,而不是SNS通过HTTPS与目标系统联系。如果HTTPS请求失败,或者端点返回错误,则Lambda函数应引发异常,以便Lambda可以重试。

https://docs.aws.amazon.com/lambda/latest/dg/invoking-lambda-function.html#supported-event-source-sns