Я только что создал свою первую (обычную). Я установил функцию в Lambda, загрузив zip-файл, содержащий мои index.js, и весь необходимый код, включая node_modules и базовое умение Alexa, которое является моим дочерним (в соответствии с учебниками). Я убедился, что я заархивировал файлы и подпапки, а не сама папка (поскольку я вижу, что это обычная причина подобных ошибок), но когда я создаю навык и тест в веб-жуке с образцовым высказыванием, я получаю:Лямбда-функция, не работающая над Alexa Skill invocation
Удаленная конечная точка не может быть вызвана, или ответ, который он ответил, был недействительным.
Я не уверен, как отлаживать это, поскольку в CloudWatch ничего не зарегистрировано.
В запросе лямбды я вижу, что значение моего слота переведено/обработано успешно, а имя намерения верное.
В AWS Lambda я могу успешно использовать эту функцию как с LaunchRequest, так и с другим намерением. Однако с консоли разработчика я ничего не получаю. Я пробовал копировать JSON из теста лямбда (который работает) на портал разработчика, и я получаю ту же ошибку. Вот образец JSON я помещаю в Dev портале (который работает в Lambda)
{
"session": {
"new": true,
"sessionId": "session1234",
"attributes": {},
"user": {
"userId": null
},
"application": {
"applicationId": "amzn1.echo-sdk-ams.app.149e75a3-9a64-4224-8bcq-30666e8fd464"
}
},
"version": "1.0",
"request": {
"type": "LaunchRequest",
"requestId": "request5678"
}
}
Спасибо, очень полезно. Я следил за приведенным выше и вижу, что он жалуется на синтаксическую ошибку, но вывод не говорит мне, где. Я запустил свой код с помощью синтаксиса синтаксиса JS, и он говорит, что это прекрасно ... – LDJ
Ну, это прогресс - теперь мы знаем, где проблема.Это немного не по теме, но я думаю, что вам понадобится способ проверить, работает ли ваш код, прежде чем загружать его в лямбда. Существует много решений, но я использую модуль «узел-лямбда», и он работал хорошо для меня. – Tom