by

Alexa Skills and AWS Lambda Aliasing

After the last post (Before Submitting Your Alexa Skill You Need to Do This One Important Thing), I had someone ask me to clarify things a bit regarding aliasing and the skills certification process. Specifically, could aliasing be used to give the best of both worlds. Namely:

  1. Protection of Production Code
  2. Ease of quick code updates without recertification

Skills Certification

Functionally, Amazon only forces certification of your skill if you make a change in the Alexa Skills Developer Console. So if you are adding an intent, updating utterances, adjusting copy you would need to resubmit your skill for certification.

This means that as mentioned in the early post, you can change the back end code on your lambda without the blessing of Amazon. This makes for quick iterations as you don’t have to wait the one to two days for the certification process.

So can we still use versioning that keeps our skill-in-production always pointing to a safe code base, yet allows us to publish code changes quickly if we need to?

Lambda Aliases

The trick here would be to have at least 2 production aliases setup. You could then rotate the alias being submitted for certification while at the same time being able to be free to make changes to back end code without needing to resubmit just to change an ARN.

Lambda Version Alias Notes
$latest  Development
1  ProductionA  Submitted for Certification 2/7, Certified 2/9
2  ProductionA  Quick bug fix for already certified skill
3  ProductionB  Submitted for Certification 2/10, Certified 2/13
4  ProductionA  Submitted for Certification 2/15, Certified 2/17