簡體   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