TheRock3t
TheRock3t

Reputation: 638

AWS lambda versioning

I have a question about the lambda functions versioning capabilities.

I know how the standard way of versioning works out of the box in AWS but I thought there is a way for the publisher to specify the version number which would tag a specific snapshot of the function. More exactly what I was thinking of was including in the uploaded zip file a config.json where the version would be specified. And this would be used afterwards by AWS for tagging.

The reason I am asking is because I would like, for example, to keep in sync the version of the lambda function with the CI job build number that built (zipped) the lambda.

Any ideas?

Many thanks

Upvotes: 0

Views: 1364

Answers (3)

Praveen Kamath
Praveen Kamath

Reputation: 1059

AWS Lambda doesn't support custom versioning for now. As a workaround, you can use tags to set the version using tag-resource command. Obviously, this approach won't offer you a straight forward rollback strategy which you have in Publish lambda functionality.

Upvotes: 0

Alwyn - Numino Labs
Alwyn - Numino Labs

Reputation: 323

A good option would be store your CI job build number as an environment variable on the Lambda function.

Its not exactly a recommended way to version AWS Lambda functions, but definitely helps in sticking to typical 1.x.x. versioning strategies and keeping them consistent across the pipeline.

Flipping the topic the other way around. Can we go with AWS Lambda versions 1.2.3., and then find a way to have our CI builds also use a single digit version no? Im not yet comfortable with this approach, and like the flexibility of 1.x.x as a versioning scheme to indicate major.minor.patch.

Standard Lambda versioning. This is the most detailed blog I came across on this topic.

https://www.concurrencylabs.com/blog/configure-your-lambda-function-like-a-champ-sail-smoothly/

Upvotes: 1

Ashan
Ashan

Reputation: 19728

When you are deploying the Lambda function through CLI command or API, its not possible to give a custom version number. Its currently an automatically generated value by aws.

This makes it not possible to map the version number in a configuration file to the Lambda version supporting your use case.

Upvotes: 0

Related Questions