繁体   English   中英

使用 Bitbucket Pipelines 更新 AWS Java Lambda 函数时出错 - java.lang.ClassNotFoundException

[英]Error when update AWS Java Lambda Function using Bitbucket Pipelines - java.lang.ClassNotFoundException

我有一个基本的AWS Lambda Java 函数my-function

public class Hello implements RequestHandler<Request, Response> {
    public Response handleRequest(Request request, Context context) {
        String greetingString = String.format("Hello %s", request.name);
        return new Response(greetingString);
    }
}

该Lambda函数在AWS中注册良好,控制器为com.tds.Hello ,正确关联AWS API Gateway

最终的JAR是通过 Maven 构建的,没有问题。 当我直接在AWS 中上传 JAR 时,该功能运行良好。

问题是,当我使用Bitbucket Pipelines在提交代码后进行自动上传(和更新)时,管道运行良好,并按照本教程(自动化 AWS Lambda 部署)成功状态运行,但是当我在 AWS 中测试/运行该函数时,我得到以下错误:

{"errorMessage":"找不到类:com.tds.Hello","errorType":"java.lang.ClassNotFoundException"}

有没有人遇到过这个问题?

错误是在创建ZIP 文件并通过Bitbucket Artifacts 时发生的 我避免压缩 (ZIP) 文件,而是直接使用 JAR 在 AWS 中上传。 我更新了bitbucket-pipelines.yml如下:

旧的bitbucket-pipeline.yml

pipelines:
  default:
    - step:
        name: Build and package
        script:
          - apt-get update && apt-get install -y zip
          - zip my-function.zip target/my-function.jar 
          - pipe: atlassian/aws-lambda-deploy:0.3.0
            variables:
              AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
              AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
              AWS_DEFAULT_REGION: $AWS_REGION
              FUNCTION_NAME: 'my-function'
              COMMAND: 'update'
              ZIP_FILE: 'my-function.zip'

新的bitbucket-pipeline.yml

pipelines:
  default:
    - step:
        name: Build and package
        script:
          - pipe: atlassian/aws-lambda-deploy:0.5.0
            variables:
              AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
              AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
              AWS_DEFAULT_REGION: $AWS_REGION
              FUNCTION_NAME: 'my-function'
              COMMAND: 'update'
              ZIP_FILE: 'target/my-function.jar'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM