question

James B Rush avatar image
James B Rush asked

Service Simulator works, but Echo says unable to reach the requested skill

I've created a dummy lambda service that just returns json data without performing any validation. The service is public. I can hit the service from a browser as well as from the skill service simulator and it works. However, the Echo says it is unable to reach the requested skill. The skill is listed on the Echo and the recognition is correct. I don't get anything in the service logs when Echo attempts to access (If it even attempts) Interestingly, in my first pass at creating the service, I made the mistake at building it in West and therefore couldn't set the Event source and I got the exact same set of behaviors. Therefore, I suspect my Event source is still not right. Any suggestions of how to troubleshoot this? My lambda code. console.log('Loading function'); exports.handler = function(event, context) { result = { "version": "1.0", "sessionAttributes": {}, "response": { "outputSpeech": { "type": "PlainText", "text": "Welcome to the Alexa Skills Kit sample, Please tell me your favorite color by saying, my favorite color is red" }, "card": { "type": "Simple", "title": "SessionSpeechlet - Welcome", "content": "SessionSpeechlet - Welcome to the Alexa Skills Kit sample, Please tell me your favorite color by saying, my favorite color is red" }, "reprompt": { "outputSpeech": { "type": "PlainText", "text": "Please tell me your favorite color by saying, my favorite color is red" } }, "shouldEndSession": false } } context.succeed(result); // Echo back the first key value // context.fail('Something went wrong'); };
alexa skills kitsubmission testing certification
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

James B Rush avatar image
James B Rush answered
I was able to get it to work by changing from using an ARN endpoint to a Lambda ARN. Why can't I use an HTTPS connection? Note, I'm not terribly concerned with using the Lambda as an HTTPS connection, but when troubleshooting I would like to be able to minimize the number of changes. My longer term use cases are: * Use a Lambda to prototype fixed responses (no host connections) * Route requests to a Raspberry Pi, in my home with a self signed certificate (several steps before I achieve this and based on the experience, I suspect it won't be easy). Thank you, Jim
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Levon@Amazon avatar image
Levon@Amazon answered
Hi Jim, Good to hear that it works now. Here are some useful articles for future reference: Developing an Alexa Skill as a Lambda Function: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/developing-an-alexa-skill-as-a-lambda-function Developing an Alexa Skill as a Web Service: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/developing-an-alexa-skill-as-a-web-service AWS Security Best Practices: http://media.amazonwebservices.com/AWS_Security_Best_Practices.pdf Kind regards, Levon
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.