AWS Lambda 不会自动获取最新的镜像?

m00*_*0s3 15 bitbucket amazon-web-services aws-lambda amazon-ecr

我在 AWS 上部署了 Lambda。我部署的 Lambda 使用容器来运行我的代码。每当我们部署新镜像后,我们都必须手动将 URL 复制粘贴到 Lambda 的配置中。即使 ECR 中的最新映像具有已在 Lambda 中配置的 URI,Lambda 也会使用上次手动完成配置时的映像。我想知道是否有一种方法可以自动让 lambda 使用 ECR 中部署的最新映像?

我尝试过的事情:

  1. 在部署过程中保持标签和镜像名称相同,因此镜像的 URI 保持不变。然后,我使用该 URI 来配置我的 Lambda。
  2. 使用“最新”作为我的图像的标签。

注意:图像正在由 Bitbucket 推送到 ECR。

Sté*_*ert 18

这是预期的,因为 Lambda 不知道推送了新镜像。

对于定义为容器映像的函数,Lambda 将映像标签解析为映像摘要。在 Amazon ECR 中,如果您将映像标签更新为新映像,Lambda 不会自动更新该函数。

https://docs.aws.amazon.com/cli/latest/reference/lambda/update-function-code.html#update-function-code


推送镜像后:

docker tag my-image:latest 123456789.dkr.ecr.eu-west-1.amazonaws.com/my-image:latest
docker push 123456789.dkr.ecr.eu-west-1.amazonaws.com/my-image:latest
Run Code Online (Sandbox Code Playgroud)

同时使用新映像更新您的 Lambda:

aws lambda update-function-code \
           --function-name my-lambda \
           --image-uri 123456789.dkr.ecr.eu-west-1.amazonaws.com/my-image:latest
Run Code Online (Sandbox Code Playgroud)