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

Jas*_*ser 1 http amazon-web-services amazon-sns

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

我有什么办法可以实现它吗?

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

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

谢谢。

Mic*_*bot 5

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

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

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