我正在尝试从NodeJS调用lambda函数。经过研究,我知道有两种方法可以做到:
API Gateway和AWS SDK的优缺点是什么?什么时候使用上面的每一种方式?
这取决于。 API网关主要用于在不安全的环境(即浏览器,桌面应用程序,非服务器)中临时访问Lambda函数。
如果您的环境是安全的,例如在具有IAM角色的EC2实例或具有安全存储凭据的其他服务器上运行,则可以随意使用SDK并正确调用Lambda函数。
如果您需要将Lambda函数暴露给整个互联网,或者网络上的授权用户,或者任何有可能在传输过程中获取访问密钥和密钥的用户,那么您需要将API网关放在前面。
使用API网关,您可以使用API密钥或通过其他授权人(如Amazon Cognito)保护您的Lambda函数,以便用户在使用API端点之前需要登录。这样他们只获得临时凭证,而不是任何人都无法获得的永久凭证。