AWS Lambda和Java的Travis-CI部署问题

问题描述 投票:1回答:1

[将代码部署到Java项目的lambda时,最初出现了一个问题,index.被添加到我的处理程序路径中。使用:https://stackoverflow.com/a/49620548/2612651我能够解决这个问题。

[现在问题在Java中,它正在使用module_name.handler_name,但应该是.,而不是::

旁注在任何地方都有所有.travis.yml命令的简明清单?我似乎找不到它。

这是我的.travis.yml文件的deploy部分,它将两个工件放在我希望的位置。

deploy:
  - provider: lambda
    access_key_id: $AWS_KEY
    secret_access_key: $AWS_SECRET
    function_name: "grant-jwt"
    region: "us-east-2"
    role: "<arn>"
    runtime: "java8"
    module_name: "com.dapper.cloud.function.GrantJwt"
    handler_name: "handleRequest"
    file: "./grant-jwt/target/grant-jwt-0.0.1-SNAPSHOT.jar"

- provider: lambda
    access_key_id: $AWS_KEY
    secret_access_key: $AWS_SECRET
    function_name: "verify-jwt"
    region: "us-east-2"
    role: "<arn>"
    runtime: "java8"
    module_name: "com.dapper.cloud.function.VerifyJwt"
    handler_name: "handleRequest"
    file: "./verify-jwt/target/verify-jwt-0.0.1-SNAPSHOT.jar"
travis-ci
1个回答
0
投票

所以我实际上也遇到了这个问题,当我找到答案时,我感到很傻。正确的方法是使module_name为程序包路径,使handler_name名称为Class::handlerFunc。另外,不支持file,请查看documentation所需的参数为zip

所以您的情况应该是

deploy:
  - provider: lambda
    access_key_id: $AWS_KEY
    secret_access_key: $AWS_SECRET
    function_name: "grant-jwt"
    region: "us-east-2"
    role: "<arn>"
    runtime: "java8"
    module_name: "com.dapper.cloud.function"
    handler_name: "GrantJwt::handleRequest"
    zip: "./grant-jwt/target/grant-jwt-0.0.1-SNAPSHOT.jar"

- provider: lambda
    access_key_id: $AWS_KEY
    secret_access_key: $AWS_SECRET
    function_name: "verify-jwt"
    region: "us-east-2"
    role: "<arn>"
    runtime: "java8"
    module_name: "com.dapper.cloud.function"
    handler_name: "VerifyJwt::handleRequest"
    zip: "./verify-jwt/target/verify-jwt-0.0.1-SNAPSHOT.jar"
© www.soinside.com 2019 - 2024. All rights reserved.