【问题标题】:Single Jar for multiple aws lambda functions developed using JAVA使用 JAVA 开发的多个 aws lambda 函数的单个 Jar
【发布时间】:2020-08-17 13:49:05
【问题描述】:

我想为一些 lambda 函数制作一个 jar 文件。我看过许多博客和文章,其中使用不同的 handleRequest 方法作为事件。 这将如何映射到 aws lambda 函数,因为 pakage.classname:handleReq() 在 aws 控制台上定义。 对其实施感到困惑。 任何帮助表示赞赏。

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-ec2 aws-lambda executable-jar


    【解决方案1】:

    您可以在一个 jar 中包含多个函数,这意味着对于每个函数,整个 jar 都将被上传。

    对于每个函数,您需要定义作为函数入口点的处理程序。

    如果你使用 cloudformation,它看起来像:

    FirstLambdaFunction:
        Type: AWS::Serverless::Function
        Properties:
          FunctionName: first-function
          Description: "Your first function"
          Handler: com.app.functions.FirstFunction
          Runtime: java11
          CodeUri: ./build/libs/all-functions.jar
    
    SecondLambdaFunction:
        Type: AWS::Serverless::Function
        Properties:
          FunctionName: second-function
          Description: "Your second function"
          Handler: com.functions.SecondFunction
          Runtime: java11
          CodeUri: ./build/libs/all-functions.jar
       
    ....
    
    

    如果您手动执行此操作,则需要在 S3 中上传 jar,然后从 AWS 控制台创建函数以指向此 jar 并记下预期的处理程序。

    注意:如果所有功能确实非常密切相关,通常可以这样做,否则最好将它们拆分在单独的 jar 中。

    【讨论】:

      猜你喜欢
      • 2018-12-06
      • 2018-06-15
      • 2015-11-10
      • 1970-01-01
      • 2016-01-29
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多