我有一个简单的Lambda函数,我正在尝试通过Jenkins进行部署-

public String handleRequest(String input, Context context) {
        String output = "";
        if (input.isEmpty()) {
            output = "No input provided";
        } else {
            output = "Hello, " + input + "! Checking invocation - 1";
        }
        return output;
    }


我可以通过Eclipse的AWS Lambda插件进行部署和调用,而不会出现任何问题。

我正在使用适用于Jenkins的AWS Lambda插件并遵循其文档。 >工件位置-src/main/java/

处理程序名称-lambda.Hello(lambda是程序包名称,Hello是类名称)。我还尝试过使用lambda.Hello.handleRequestlambda.Hello::handleRequest和其他变体。 >
"errorMessage": "Class not found: lambda.Hello",
  "errorType": "class java.lang.ClassNotFoundException"


我在哪里错了?当我从AWS导出测试函数并将其解压缩时,我可以看到Git上的代码确实已部署,但是找不到该类。

#1 楼

我在尝试将Lambda函数手动部署为jar文件时找到了解决方案。这些步骤-


使用AWS文档将Lambda函数创建为Maven项目。
将Jenkins作业创建为Maven项目,并在目标部分指定package
按照Jenkins Lambda插件文档进行部署,并指定target/your-project-1.0-SNAPSHOT.jar作为工件位置。

这应该使用Maven构建Lambda函数,然后将其部署到AWS。