我对lambda相当陌生,并试图绕过它。 我创建了一个基本的 hello world 函数并通过
aws lambda invoke
我的问题是
- 我不必创建一个 API 网关并通过 API 网关公开 lambda 函数才能正常工作。
- 如果我尚未创建网关并公开函数,AWS lambda 如何调用?
您不必创建用于调用 lambda 函数的 API 网关。每个lambda函数都可以使用API通过Amazon的Web服务访问:
POST /2015-03-31/functions/FunctionName/invocations?Qualifier=Qualifier HTTP/1.1
有关更多详细信息,请参阅 http://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.html。
但是,上述 API 期望使用 aws 签名版本 4 对请求负载进行签名。 一旦您配置了有效的访问密钥和私有密钥,CLI 调用aws lambda invoke
就会自动处理该部分。
lambda 前面的 API 网关允许您添加:
- 自定义资源名称
- 自定义身份验证方案(如果需要,甚至无需身份验证)
- 发送有效负载的自定义方式以及更多...
总之,API Gateway 使您能够更好地控制 API 资源,甚至可以将用户从 AWS API 的内部抽象出来。