问题描述
由于在 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,即亚马逊 API 网关数据平面。
只是想清楚;如果您需要在外部公开 Lambda,则需要使用 API 网关。如果需要在内部调用 Lambda,则不需要 API GW。
最好的问候
,Lambda 还公开了所有语言的客户端 API。因此,您可以使用客户端 API 调用 Lambda 函数(如果您愿意,请不要使用 API 网关)。例如,假设您希望能够从 Java Web 应用程序调用 Lambda 函数。在这种情况下,您可以使用 LambdaClient 对象来执行此操作。你可以在这里找到一个例子: