我对Lambda函数与Amazon 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控制台显示的内容。只需仔细检查订阅是否有效。