问题
I created my Alexa Skill as an AWS Lambda Node.js app based on one of the provided examples in the Alexa Skills Kit. I followed all the instructions:
- My Echo is registered with the same account as my developer account on AWS
- I configured my Skill on the Amazon developer console
- I put my application ID from the console into my application code
- I uploaded my code to the AWS Lambda service (set to N. Virginia, as instructed)
- I tested my service and it returned the expected JSON
- I entered my ARN as the endpoint back in the developer console
- On the next step in the console it tells me to test the skill with Echo by saying "Alexa, ask HelloWorld".
When I do this, she replies "There was a problem communicating with the requested application." In the Echo app it says:
Unexpected Communication Issue HelloWorld Request Identifier: amzn1.echo-api.request.e2d17280-592a-474f-a6b1-d1a9d8ff816d There was a problem communicating with the requested application
I can see from my AWS Lambda functions list that no requests have reached the service. I restarted Echo. I gave it an hour in case it just needed time to propagate somewhere, but it still gives the same response.
So this is a pretty ambiguous dead end. Has anyone ran into this? Any ideas what to try?
回答1:
I noticed you didn't mention setting your Event Source. Here's the snippet from the documentation here.
Add the Alexa Skills Kit Event Source
Adding the Alexa Skills Kit event source to your function grants Alexa the necessary invocation permissions for your function.
Log in to the AWS Management Console and navigate to AWS Lambda.
Select your function in the list.
Click Actions and then select Add event source.
Select Alexa Skills Kit from the Event source type.
Click Submit.
Additionally, feel free to check out the Alexa Skills Kit Knowledge Base sub-forum for a list of common Q&A here.
Thanks!
来源:https://stackoverflow.com/questions/31125326/alexa-not-finding-my-skill