Some developers wrote in and asked questions about using Alias/Version in Lambda for their Alexa Skill development. Here are some concepts and tricks:
1. Version is immutable - after you publish a Lambda Version, it can't be changed. If you want to keep a snapshot of your code from time to time, Version is a good choice. On the contrary, Alias is mutable. You can always make Alias to point to a different Version. Suppose you don't want to change the ARN in your Alexa skill Lambda configuration, putting the ARN of Alias and make Alias point to the Version you need would be ideal.
2. Don't forget to add an "Alexa Skill Kit" trigger to your Alias or Version. The fun fact is if you already use Alias and has a trigger on it, you don't need to add a trigger for Version. However, if you just put version ARN in the Alexa Lambda configuration without using an Alias, it still requires a trigger. (You could see one of the benefits of using Alias is that you don't need to change ARN or add trigger again and again).
If you forget to add the trigger to your Alias/Version, an error will show on development portal:
When you see this error message, you need to go back to AWS Lambda to add a trigger for the Alias or Version:
3. Since Version is immutable, suppose you want to edit the code on an earlier version. You could use "export function" to download the code package, please do remember to change the file name to be a .zip file. Then, you can upload the zip file again after your code change.
Please click "Download deployment package" and save the file. Please note that you'll need to alter the download file name to contain ".zip", otherwise you can't unzip it.
More useful links on AWS website about Lambda Version and Alias:
https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html https://docs.aws.amazon.com/lambda/latest/dg/versioning-intro.html