如何避免 AWS SAM 使用未更改的代码重建和重新上传 gradle 函数?

How to avoid AWS SAM rebuild and reupload a gradle function with unchanged code?

我正在开发一个带有 micronaut 的应用程序,使用 SAM CLI 将其部署在 AWS Lambda 上。当我包括依赖项和开发新功能时,功能包变得越来越大(现在大约 250MB)。这使得部署需要一段时间。

最重要的是,每次我编辑 template.yaml 然后 运行 sam build && sam deploy 以在 S3、RDS 等上尝试新配置...我必须等待 gradle 再次构建函数(即使自上次部署以来它没有变化)并将整个包上传到 S3。

当我尝试在 SAM 上配置此应用程序时经过多次试验和错误,等待此过程完成只是为了得到一个错误,因为一些配置错误会适得其反。

另外,我的 SAM s3 bcuket 在工作一天后就达到了 10GB 大小。这在长期 运行.

上可能会变得昂贵

有没有办法在功能代码未更改时避免那些gradle重建和重新上传?

如果您只更新template.yml文件,您可以将新版本复制到./.aws-sam/build folder然后运行sam deploy

$ cp template.yml ./.aws-sam/build/template.yml
$ sam deploy

如果您正在编辑 lambda,您可以尝试自行更新函数代码(当然是在模板中创建并部署之后)。这可以通过 AWS CLI update-function-code 命令完成:

rm index.zip 
cd lambda 
zip –X –r ../index.zip *
cd .. 
aws lambda update-function-code --function-name MyLambdaFunction --zip-file fileb://index.zip

可以在此处找到更多信息:

my SAM s3 bcuket is at 10GB size

呵呵。是的开始删除东西。也许您可以使用 aws s3?

编写脚本