首页 > 解决方案 > AWS SNS 订阅与 lambda 函数的触发器?

问题描述

我对 Lambda 函数和 Amazon SNS 即服务之间的关系有疑问。

在 SNS 中,您创建一个主题的订阅,其中一个是 Lambda 函数。在我的脑海中,我想这是在从该主题发出消息时调用和触发该函数。但在 Lambda 方面,您可以创建触发器来做同样的事情,其中​​之一就是 SNS。

到底有什么区别,好像他们做同样的事情。但是如果我使用 Lambda 为主题创建订阅,它不会显示在 Lambda 服务中函数的触发器中,这让我想知道这两者之间到底有什么区别?

标签: amazon-web-servicesaws-lambdapublish-subscribeamazon-sns

解决方案


究竟有什么区别?

从功能的角度来看没有区别。您所观察到的只是控制台缺陷。

为了确保,我使用我的 SNS 和我的 lambda 函数手动验证。

当您Create subscription在 SNS 控制台中使用并添加 lambda 函数时,它会在 lambda 控制台中显示为触发器。

Subscriptions同样,如果您使用 lambda 控制台并添加 SNS 触发器,您会在SNS 控制台部分找到该功能。

但是,AWS 控制台并不完美。例如,如果您从 中删除 lambda 函数Subscriptions,它不会将其从 lambda 控制台上的触发器中删除。相反,您将看到以下错误:

在此处输入图像描述

对于某些人来说,这可能是一个错误,对于其他人来说,这是一个功能。我学会了不要过度依赖 AWS 控制台显示的内容。只需仔细检查订阅是否有效。


推荐阅读