2016-10-07 3 views
1

Я только что создал свою первую (обычную). Я установил функцию в 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" 
    } 
} 

ответ

2

Первый шаг в реализации этой проблемы, вероятно, чтобы проверить вашу лямбду отдельно от конфигурации вашей квалификации.

При просмотре вашей лямбда-функции в консоли AWS обратите внимание на кнопку «тест» наверху, а рядом с ней есть выпадающий список с возможностью настройки тестового события. Если вы выберете этот вариант, вы обнаружите, что для Alexa установлены предустановленные тестовые события. Выберите «сеанс запуска alexa», а затем нажмите кнопку «сохранить и проверить».

Это даст вам более подробную информацию о выполнении вашей лямбда.

Если ваша лямбда прекрасно работает здесь, проблема, вероятно, заключается в настройке вашего навыка, поэтому я вернусь к любому учебнику и документации, которые вы использовали, чтобы настроить свои навыки и убедиться, что вы сделали это правильно.

Когда вы пишете, что запрос лямбда выглядит отлично, я предполагаю, что вы говорите об имитаторе обслуживания, так что это хороший старт, но на вкладке конфигурации все еще может быть проблема.

+0

Спасибо, очень полезно. Я следил за приведенным выше и вижу, что он жалуется на синтаксическую ошибку, но вывод не говорит мне, где. Я запустил свой код с помощью синтаксиса синтаксиса JS, и он говорит, что это прекрасно ... – LDJ

+0

Ну, это прогресс - теперь мы знаем, где проблема.Это немного не по теме, но я думаю, что вам понадобится способ проверить, работает ли ваш код, прежде чем загружать его в лямбда. Существует много решений, но я использую модуль «узел-лямбда», и он работал хорошо для меня. – Tom

1

Мы построили инструмент для местного развития навыков и тестирования.

BST Tools

Запросы и ответы от Alexa будут направлены непосредственно на локальный сервер, так что вы можете быстро коду и отладка без необходимости делать какие-либо развертывания. Я нашел это очень полезным для нашего собственного развития.

Дайте мне знать, если возникнут какие-либо вопросы.

Это открытый исходный код: https://github.com/bespoken/bst

Смежные вопросы