由于在 AWS lambda 上使用 HTTP 和 REST api 需要额外的成本,我想知道我是否可以让 AWS Lambda 在不需要这些 HTTP API 服务的情况下接收获取和发布。
在这个例子中,它似乎是可能的:
https://github.com/serverless/examples/tree/master/aws-node-simple-http-endpoint
由于在 AWS lambda 上使用 HTTP 和 REST api 需要额外的成本,我想知道我是否可以让 AWS Lambda 在不需要这些 HTTP API 服务的情况下接收获取和发布。
在这个例子中,它似乎是可能的:
https://github.com/serverless/examples/tree/master/aws-node-simple-http-endpoint
您将需要使用 API Gateway 来公开您的 lambda。您的示例实际上是使用 API 网关,因为终端节点是 execute-api.us-east-1.amazonaws.com,即 Amazon API Gateway 数据平面。
只是要清楚; 如果您需要在外部公开 Lambda,则需要使用 API Gateway。如果需要在内部调用 Lambda,则不需要 API GW。
最好的祝福
Lambda 还公开了所有语言的客户端 API。因此,您可以使用客户端 API 调用 Lambda 函数(如果您愿意,请不要使用 API Gateway)。例如,假设您希望能够从 Java Web 应用程序调用 Lambda 函数。在这种情况下,您可以使用 LambdaClient 对象来执行此操作。你可以在这里找到一个例子: