0
votes

I have a published Alexa Skill that I want to configure with provisioned concurrency. I have tried to create a new version and assign the new Alexa Skill trigger to the Skill's endpoint in the Alexa developer console and I have tried creating a new alias and assign its Alexa Skill trigger to the Skill's endpoint in Alexa Skill developer console, but each time I get the below error:

The trigger setting for the Lambda arn:aws:lambda:us-east-1:1234567890123:function:MyFunction:1 is invalid. Error code: SkillManifestError

I have tried running the "validation" function under certification tab in the Alexa Skill developer console and I have tried re-uploading the function's code to the Lambda function.

What are the required steps to add provisioned concurrency to a published Alexa Skill?

1

1 Answers

0
votes

First, I would strongly recommend using an Alias instead of a Version to reference the skill, that way it can be updated. A blue/green set of aliases would probably work nicely to coordinate deployments in the Alexa console.

Second, don't focus on provisioned concurrency first, that can be added or removed after the fact. The actual goal is to have Alexa use a Version or Alias.

You most likely need to add the permission for Alexa to invoke the version, that is why it is failing. If you use an Alias, you would add them there. You likely only have this permission set on $LATEST.

Once you have Alexa invoking the Version or Alias then you can add the provisioned concurrency. This has no impact on your running function. You can also remove provisioned concurrency with no impact on the ability of the function to run.

I'd also recommend setting up Auto Scaling for the provisioned concurrency set to 70%, that should balance cost and performance nicely.