2

由于目前的状况,AWS SNS在端点返回5XX响应的情况下为HTTP/HTTPS终端提供重审(线性,几何和指数回退)功能。通过AWS Lambda获得AWS SNS的指数回退

因此,我的应用程序体系结构发生了变化,我强烈需要在我的SNS和Lambda之间插入一个API网关,以便在发生故障时我可以从API网关返回5XX状态并利用SNS的重试功能。

但是AWS lambda没有提到重审机制。有什么方法可以将SNS重审设施用于基于非HTTP的订阅?

感谢

回答

1

几个调试小时后和经历AWS文档似乎目前还没有从HTTP/HTTPS来源正从AWS SNS任何东西的指数回别人分开的方式。

您可以结帐this

,如文档中引用:

当用户呼叫的SNS上发布你的拉姆达 功能订阅到主题API,亚马逊SNS将调用lambda来异步调用你的 功能。 Lambda将返回交货状态。如果 调用Lambda时发生错误,则Amazon SNS将重试调用最多三次的Lambda函数 。经过三次尝试后,如果Amazon SNS 仍无法成功调用Lambda函数,则Amazon SNS将向CloudWatch发送传递状态失败消息。

由于存在异步调用的Lambda SNS将不在意lambda的退出状态。因此,从SNS的角度来看,成功调用lambda足够成功并且不会提供失败事件,因此不会自定义回退。

现在看来,添加一个HTTP端点是唯一的选择。