Ошибка при использовании эмулятора Bot Framework после публикации бота V3 в Azure
Я создал довольно простого бота, используя версию 1.1.0 Bot Builder, и он работал нормально, как локально, так и после публикации в Azure. Однако, когда я перешел на версию 3 (и изменил соответствующий код), мой бот работает локально, но он не работает (на эмуляторе бота) после того, как я опубликовал его на Azure. Я не знаю, неправильно ли я использую Эмулятор или неправильно его публикую.
Я изменил теги BotId, MicrosoftAppId и MicrosoftAppPassword веб-конфигурации.
Когда я использую кнопку "Проверить соединение с вашим ботом" на странице Azure, она отвечает "Принят".
В эмуляторе я использую URL-адрес бота как " https://xxxxxx.azurewebsites.net/api/messages", URL-адрес эмулятора - " http://localhost:9000/" и соответствующие AppId и AppPassword. Версия эмулятора 3.0.0.59
Когда я пытаюсь начать разговор, я получаю 500 InternalError {"Произошла ошибка"}
Любые идеи о том, что не так?
Спасибо
1 ответ
Сообщения направляются на URL-адрес эмулятора http://localhost:9000/, поэтому это не работает. Вам нужно пересылать сообщения в известное место в сети при попытке взаимодействия с вашим ботом в облаке с помощью эмулятора. Для этого вы можете использовать ngrok.
Эта тема в документации объясняет, как это сделать. В основном вам нужно запустить ngrok следующим образом:
ngrok http -host-header = переписать 9000
Затем обновите эмулятор, чтобы использовать URL-адрес пересылки https ngrok в текстовом поле "Эмулятор URL".