7

Is possible to use a Lambda function alias (https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) with the Serverless Framework? If so, does anyone have an example of how that is done?

Update:

I have found it within SAM:

AutoPublishAlias: By adding this property and specifying an alias name, AWS SAM:

Detects when new code is being deployed, based on changes to the Lambda function's Amazon S3 URI.

Creates and publishes an updated version of that function with the latest code.

Creates an alias with a name that you provide (unless an alias already exists), and points to the updated version of the Lambda function. Function invocations should use the alias qualifier to take advantage of this. If you aren't familiar with Lambda function versioning and aliases, see AWS Lambda Function Versioning and Aliases .

https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/automating-updates-to-serverless-apps.html

Is there a way to do this in the Serverless Framework?

1 Answer 1

5

I was able to accomplish this utilizing a plugin called serverless-plugin-canary-deployments: https://github.com/davidgf/serverless-plugin-canary-deployments

I found it from this blog post: https://www.serverless.com/blog/manage-canary-deployments-lambda-functions-serverless-framework

Example:

service: sls-canary-example

provider:
  name: aws
  runtime: nodejs6.10

plugins:
  - serverless-plugin-canary-deployments

functions:
  hello:
    handler: handler.hello
    events:
      - http: get hello
    deploymentSettings:
      type: Linear10PercentEvery1Minute
      alias: Live

Serverless.com confirmed with me that there is no native way to do this, but I think this plugin does what I need it to do, with the caveat that deploymentSettings does not pass the configuration validation, so you will get a warning on deploy.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.