运行 AWS Lambda 时出现此错误 No response from invoke container for Function
.我希望它返回我定义为输出的“hello world”字符串:
我也用这个更简单的 Lambda 函数尝试过,但我得到了同样的错误:
public class App implements RequestHandler<String, String> {
public String handleRequest(final String input, final Context context) {
return "H";
}
}
我在本地启动 Docker 以使用 Docker 快速入门终端运行此 Lambda:我可能需要在 Docker 中做其他事情吗?
这就是我使用 IntelliJ 插件 AWS 工具包创建新 AWS Lambda 项目的方式:
并选择了以下设置:
Invalidate Caches and Restart
:然后项目正确加载,但我的 App 类旁边没有那个 Lambda 符号:
Import as Maven project
.这有效,我现在看到了 Lambda 符号:但是我在 AppTest 类中收到一个新错误,当我尝试运行它时,它说找不到应用程序处理程序。
5. 我通过更改
APIGatewayProxyRequestEvent
解决了这个问题在 RequestHandler
反对':最佳答案
我从未尝试以您描述的方式构建和执行 Lambda 函数。就我个人而言,我使用 IntelliJ 和 Java Lambda 运行时 API 来构建 Lambda 函数,然后使用 Maven 将其打包并使用 AWS 管理控制台进行部署:
https://console.aws.amazon.com/lambda/home
您可以从控制台对其进行测试并查看 Cloudwatch 日志中的输出。这没有问题。有关如何使用 Maven 打包 Lambda 函数并使用 AWS 管理控制台部署它的更多信息,请参阅此 AWS 教程:
https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/usecases/creating_workflows_stepfunctions
如果您按照本教程中指定的方式构建了示例 Lambda 函数,则不会出现任何问题:
public class App implements RequestHandler<String, String> {
public String handleRequest(final String input, final Context context) {
return "H";
}
}
关于amazon-web-services - 在本地在 IntelliJ 中使用 Java 运行 AWS Lambda - 函数调用容器没有响应(Docker 有问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65586933/