我想为一些 lambda 函数制作一个 jar 文件。我看过很多博客和文章,其中使用不同的handleRequest方法作为事件。 如何将其映射到 aws lambda 函数,如 pakage.classname:handleReq() 在 aws 控制台上定义。 对其实施感到困惑。 如有任何帮助,我们将不胜感激。
一个 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
....
如果您手动执行此操作,则需要将 jar 上传到 S3 中,一旦您从 AWS 控制台创建函数即可指出此 jar 并写下预期的处理程序。
注意:通常,如果所有功能确实彼此非常密切相关,则可以这样做,否则最好将它们拆分到单独的 jar 中。