我对lambda和SNS即服务之间的关系有疑问。
在SNS中,您创建主题的订阅,其中一个订阅是Lambda函数。在我的脑海中,我想这是从该主题发出消息时调用并触发您的功能。但是在lambda方面,您可以创建触发器来执行相同的操作,其中之一就是SNS。
到底有什么区别,似乎他们在做同样的事情。但是,如果我使用Lambda创建主题的订阅,则该订阅不会出现在Lambda服务的函数触发器中……这使我想知道这两者之间到底有什么区别?
从功能的角度来看,到底有什么区别?
没有没有区别。您正在观察的只是控制台的缺陷。
为了确保,我使用SNS和lambda函数手动verified。
当您在SNS控制台中使用Create subscription
并添加一个lambda函数时,它的确显示在lambda控制台中作为触发器。
类似地,如果使用lambda控制台并添加SNS触发器,则可以在SNS控制台的Subscriptions
部分中找到该功能。
但是,AWS控制台不完美。例如,如果您从Subscriptions
中删除了lambda函数,它将在lambda控制台上的触发器中not not remove it。相反,您将看到以下错误:
对于某些人来说,这可能是一个错误,对于其他人来说,这是一个功能。我学会了不严重依赖AWS控制台显示的内容。只需仔细检查订阅是否有效。