gpt4 book ai didi

aws-lambda - 使用 Docker 支持的 AWS Lambda 时,如何通过 CLI 实现 "deploy new image"?

转载 作者:行者123 更新时间:2023-12-05 01:07:42 25 4
gpt4 key购买 nike

我已经使用 Terraform 部署了我的 lambda。它成功指向 ECR,并且图像以预期的 ENTRYPOINT 运行。但是,每次我将新代码推送到 ECR 时,我都必须转到 Web 控制台,单击“部署新镜像”,否则 lambda 会运行旧镜像。

另外,我尝试使用 :latest 作为标签,但这似乎没有帮助。我能够通过上传 :2:3 然后手动将 lambda 指向这些图像来强制生成新图像。如果有一种方法可以使用 :latest 标记,那将会非常方便。

我更愿意用 bash 或 boto 来做这件事,但从我阅读文档来看,没有明显的方法可以做到这一点。

这个 similar question was shut down because lambdas used to not be backed by docker images .

最佳答案

使用 aws cli 更新 lambda 函数。

假设您有一个配置文件或在您的环境中设置了适当的凭据,您可以调用 aws lambda update-function-code 并提供您所需的 image-uri。由于您已经定义了 uri,您可以在函数中查询该值。

aws lambda update-function-code --function-name $MY_FUNC --image-uri $(aws lambda get-function --function-name $MY_FUNC | jq -r '.Code.ImageUri')

我正在使用 jq 来提取 ImageUri,但我相信还有很多其他方法和意见可以解决它。

如果您查看从 aws lambda get-function --function-name $MY_FUNC 返回的整个 .Code 对象,您可以检查 sha256 并查看它是否反射(reflect)了您更新的函数图像。

当前文档:AWS CLI update-function-code docs

关于aws-lambda - 使用 Docker 支持的 AWS Lambda 时,如何通过 CLI 实现 "deploy new image"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66976707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com