如何自动将 jar 从 s3 部署到 aws lambda



我想在 s3 bucket 中的 jar 版本有任何更改时自动部署一个 jar 来aws-lamda

例如:有一个S3 bucketlambdadeploytest和一个Lamda function的名字autoDeployTest。我在lambdadeploytest中存储了一个test.jar的对象。

每当有我上传新版本的对象test.jartest.jar都会自动部署到autoDeployTest lambda函数。

你可以用一个lambda函数来做到这一点......
在高级别上,步骤是

  • 创建一个将下载test.jar的 Lambda 函数,并使用 JAR 创建/更新autoDeployTest Lambda 函数。

  • 将新的 lambda 函数配置为在 S3 上修改test.jar时触发

  • 为新的 Lambda 函数配置读取 S3 存储桶和在 Lambda 上部署代码的权限。

您可以按照本教程创建将由 S3 事件触发的 lambda 函数。 这是您的 lambda 函数可以调用的 Lambda API 来更新autodeployTest代码。

伪代码是这样的:

read JSON event object to get the bucket name and object name (bucket_name, test.jar)
download a copy of the object (test.jar) to the lambda container 
(do additional check on the jar file if required) 
call Lambda's UpdateFunctionCode to update autoDeployTest function code with the jar.

执行此操作的最惯用方法是在将新的 JAR 文件上传到 S3 后触发部署。Lambda 本身不会为您处理这个问题,除非您打算为此目的使用另一个 Lambda(我个人不会)。

我不清楚你用什么来上传JAR文件 - 如果是例如Terraform,那将是要走的路。如果您使用 AWS CLI 上传了新版本的 JAR 文件,则可以坚持使用相同的工具来触发 Lambda 部署。

相关内容

  • 没有找到相关文章

最新更新