AmazonWebService – 我应该使用AWS API网关还是AWS SDK

我试图从NodeJS调用一个lambda函数。 经过研究,我知道两种方法来做到这一点:

  1. 将Lambda函数分配到AWS API网关并调用该API。
  2. 通过AWS SDK调用Lambda函数

API网关和AWS SDK的优缺点是什么? 何时使用上面的每个方法?

这取决于。 API网关主要用于在不安全的环境(即浏览器,桌面应用程序,非服务器)中临时访问Lambda函数。

如果您的环境是安全的,就像它在具有IAMangular色的EC2实例或具有安全存储的凭证的另一台服务器上运行一样,则可以随意使用SDK并正确调用Lambda函数。

如果您需要将您的Lambdafunction展示给整个互联网,或者授权给networking上的用户,或者任何有可能在运输过程中获取访问密钥和秘密的用户,那么您将需要在前面贴上API网关。

使用API​​网关,您可以使用API​​密钥或通过其他授权人(如Amazon Cognito)保护您的Lambdafunction,以便用户在使用API​​端点之前需要login。 这样他们只能获得临时证书,而不是永久性证书,任何人都不应该获得证书。