Отладка опубликованного бота

Я пытаюсь выяснить, что не так с моим ботом. Это бот, предназначенный для базовых навыков Кортаны. Бот построен на базе бот-фреймворка версии 3.8.0. Я запускаю его на экземпляре службы Azure Bot (функция Azure).

Локально все работает как положено. Я использую эмулятор фреймворка для ботов, чтобы все проверить; все здорово. Теперь я публикую бота в Azure и вызываю его с помощью Кортаны. Кортана отвечает, что проблема с ботом.

Когда я проверяю журнал диагностики в Azure, я вижу следующее:

2017-07-18T08:11:34.252 Exception while executing function: Functions.messages 
2017-07-18T08:11:34.252 Invalid channel data.
2017-07-18T08:11:34.272 Executed 'Functions.messages' (Failed, Id=e5eae9f5-97e4-4a35-aa5f-5c7d58a63aed)
2017-07-18T08:11:34.272 Invalid channel data.
2017-07-18T08:11:34.272 Function had errors. See Azure WebJobs SDK dashboard for details. Instance ID is 'e5eae9f5-97e4-4a35-aa5f-5c7d58a63aed'
2017-07-18T08:11:34.272 Invalid channel data.
2017-07-18T08:11:34.315 {"id":"6f095c10-d9e8-4ad0-a6a8-caf052288f8b","requestId":"2f4c950c-2459-4467-8579-4f3b5bc45e6b","statusCode":500,"errorCode":0,"messsage":"An error has occurred. For more information, please check the logs for error ID 6f095c10-d9e8-4ad0-a6a8-caf052288f8b"}
2017-07-18T08:11:34.315 Invalid channel data.
2017-07-18T08:11:34.194 Function completed (Failure, Id=e5eae9f5-97e4-4a35-aa5f-5c7d58a63aed, Duration=4626ms)
2017-07-18T08:11:34.252 Exception while executing function: Functions.messages. Microsoft.Bot.Connector: Invalid channel data.

Итак, "неверные данные канала" кажутся здесь основной ошибкой, но это мало что говорит. Я включил все журналы на сервере и скачал + проверил их; там нет ничего более полезного.

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

Кстати, я также пробовал обновиться до последней версии SDK (3.8.5), но похоже, что Microsoft.Bot.Builder.Azure зависит от версии 3.8.0, потому что он не запускается после обновления из-за ошибки загрузки сборки (пытается загрузить 3.8.0).


person Jasper    schedule 18.07.2017    source источник
comment
К вашему сведению - я создал эту проблему, чтобы отслеживать обновления зависимостей.   -  person Ezequiel Jadib    schedule 18.07.2017
comment
Хорошая идея, спасибо!   -  person Jasper    schedule 18.07.2017
comment
Пытался использовать обновленную версию сборки Azure, но это не помогло.   -  person Jasper    schedule 21.07.2017


Ответы (1)


Вы можете отлаживать опубликованный в Azure BOT локально. Это поможет вам найти настоящую проблему.

Я добавляю шаги по локальной отладке BOT, опубликованной в Azure.

  1. Параметр «Включить отладку в приложении Azure»: откройте портал Azure. Щелкните Azure Web Bot. Нажмите «Настройки приложения», в разделе «Отладка» «Удаленная отладка» и выберите свою версию Visual Studio.

введите здесь описание изображения

  1. Получить настройки публикации: нажмите «Все настройки службы приложений». Нажмите «Получить профиль публикации», чтобы получить настройки публикации со всеми именами пользователей и путями. Он загрузит настройки.

введите здесь описание изображения

  1. Нажмите «Прикрепить для обработки». введите здесь описание изображения

  2. В цели подключения: введите URL-адрес вашего бота без http: //. Пример: yourbotname.azurewebsites.net:4022 - Нажмите кнопку «Найти». - Это просит вас указать имя пользователя и пароль. Вам необходимо получить свое лазурное имя пользователя и пароль из файла публикации.

введите здесь описание изображения

  1. Теперь запустите свое веб-приложение или Кортану, чтобы отладить свой BOT и получить настоящую ошибку.
person Hasan Mahmood    schedule 04.03.2019