如何在没有 HTTP api 的情况下使用 aws lambda?

How to use aws lambda without HTTP api?

由于在 AWS lambda 上使用 HTTP 和 REST api 会产生额外费用,我想知道我是否可以让 AWS Lambda 在不需要这些 HTTP API 服务的情况下接收获取和发布。

在这个例子中似乎是可能的:

https://github.com/serverless/examples/tree/master/aws-node-simple-http-endpoint

您将需要使用 API 网关来公开您的 lambda。您的示例实际上使用的是 API 网关,因为端点是 execute-api.us-east-1.amazonaws.com,即 Amazon API 网关数据平面。

澄清一下;如果您需要在外部公开 Lambda,则需要使用 API 网关。如果 Lambda 需要在内部调用,那么您不需要 API GW。

此致

Lambda 还公开了所有语言 的客户端API。因此,您可以使用客户端 API 调用 Lambda 函数(如果您愿意,请不要使用 API 网关)。例如,假设您希望能够从 Java 网络应用程序调用 Lambda 函数。在这种情况下,您可以使用 LambdaClient 对象来执行此操作。你可以在这里找到一个例子:

https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/javav2/example_code/lambda/src/main/java/com/example/lambda/LambdaInvoke.java