Junker
Junker

Reputation: 397

Change lambda from supported runtime to docker image

I have a lambda which was created and deployed with CloudFormation. The lambda, as of now, uses the supported .NET Core 3.1 runtime but I want to use the "unsupported" .Net Core 5 so I have created a Docker image which the lambda can run.

The problem I have is that CloudFormation can't seem to change the lambda from running a supported runtime to running a Docker image. I get Please don't provide ImageUri when updating a function with packageType Zip. when updating the CloudFormation stack with the updated template.

This is how my CloudFormation template looks like:

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

Any ideas on how to solve this?

Upvotes: 11

Views: 8976

Answers (2)

mohamed elshazly
mohamed elshazly

Reputation: 548

simple way Deploy a fresh environment with a docker runtime from the start.

Upvotes: 0

samtoddler
samtoddler

Reputation: 9635

Configuring functions defined as container images

You cannot convert an existing .zip file archive function to use a container image. You must create a new function.

Upvotes: 16

Related Questions