amazon-web-services - 在本地在 IntelliJ 中使用 Java 运行 AWS Lambda - 函数调用容器没有响应(Docker 有问题?)

标签 amazon-web-services docker aws-lambda aws-toolkit

运行 AWS Lambda 时出现此错误 No response from invoke container for Function .我希望它返回我定义为输出的“hello world”字符串:
the error
我也用这个更简单的 Lambda 函数尝试过,但我得到了同样的错误:

public class App implements RequestHandler<String, String> {

    public String handleRequest(final String input, final Context context) {
            return "H";
    }
    
}
我在本地启动 Docker 以使用 Docker 快速入门终端运行此 Lambda:
my docker quickstart terminal
我可能需要在 Docker 中做其他事情吗?
这就是我使用 IntelliJ 插件 AWS 工具包创建新 AWS Lambda 项目的方式:
  • 文件 -> 新建项目:

  • new project
    并选择了以下设置:
    settings
  • 创建的项目有很多错误,(无法解析符号“字符串”等)。我能够通过删除 .idea 文件夹来解决错误,然后单击文件 -> Invalidate Caches and Restart :

  • errors
    然后项目正确加载,但我的 App 类旁边没有那个 Lambda 符号:
    missing Lambda symbol
  • 所以我去 pom.xml,右击然后 Import as Maven project .这有效,我现在看到了 Lambda 符号:

  • with Lambda Symbol
    但是我在 AppTest 类中收到一个新错误,当我尝试运行它时,它说找不到应用程序处理程序。
    5. 我通过更改 APIGatewayProxyRequestEvent 解决了这个问题在 RequestHandler反对':
    resolved error
    enter image description here

    最佳答案

    我从未尝试以您描述的方式构建和执行 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/

    相关文章:

    mysql - 为 MySQL/Tomcat/Maven Java Webapp 创建 Docker 文件

    json - AWS API Gateway 正文映射模板中的原始正文有效负载

    amazon-web-services - 无服务器服务更新使用 DeletionPolicy 保留创建的 Dynamodb 表

    mysql - AWS RDS 读取副本失败问题

    amazon-web-services - aws elasticsearch SysMemoryUtilization 指标准确吗?

    ubuntu - 同一台机器上的多个 docker 客户端

    amazon-web-services - AWS Cloudwatch日志代理(awslogs)疯了并将GBps写入日志文件

    Docker buildkit 缓存位置/大小和 ID

    ios - 使用 aws lambda 是否可以使用基于时间的应用程序?

    aws-lambda - 使用 Postman 测试 AWS Cognito 登录