首页 > 解决方案 > 将 lambda 从支持的运行时更改为 docker 映像

问题描述

我有一个使用 CloudFormation 创建和部署的 lambda。到目前为止,lambda 使用受支持的 .NET Core 3.1 运行时,但我想使用“不受支持”的 .Net Core 5,所以我创建了一个 Docker 映像,该 lambda 可以运行

我遇到的问题是 CloudFormation 似乎无法将 lambda 从运行受支持的运行时更改为运行 Docker 映像。我Please don't provide ImageUri when updating a function with packageType Zip.在使用更新的模板更新 CloudFormation 堆栈时得到。

这是我的 CloudFormation 模板的样子:

MyFunction:
    Type: "AWS::Serverless::Function"
    Properties:
        PackageType: Image
        ImageUri: <uri-to-ecr-docker-image>
        ...
    Metadata:
        Dockerfile: Dockerfile
        DockerContext: .
        DockerTag: v1

关于如何解决这个问题的任何想法?

标签: amazon-web-servicesaws-lambdaamazon-cloudformation

解决方案


配置定义为容器镜像的函数

您不能将现有的 .zip 文件存档函数转换为使用容器映像。您必须创建一个新函数。


推荐阅读