Отладка ботов из любого канала с помощью ngrok
ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4
Хотя бот находится в разработке, вы можете использовать интегрированную среду разработки и эмулятор Bot Framework для локального чата с ботом и проверять сообщения, которые бот отправляет и получает. Если бот находится в рабочей среде, вы можете отлаживать бота из любого канала с помощью ngrok. Простое подключение бота к нескольким каналам — это ключевая функция, доступная в Bot Framework.
В этой статье описывается локальное отладка бота с помощью ngrok и C# EchoBot в канале, подключенном к боту. В этой статье в качестве примера канала используется Microsoft Teams .
Примечание.
Эмулятор Bot Framework и ngrok не поддерживают управляемое удостоверение, назначаемое пользователем, или боты с одним клиентом.
Необходимые компоненты
- Подписка на Microsoft Azure.
- Установите ngrok.
- Бот Эхо C#, настроенный как мультитенантное приложение и подключенный к любому каналу.
Запуск ngrok
ngrok — это кроссплатформенное приложение, которое может создать URL-адрес туннелирования или пересылки, чтобы интернет-запросы достигли локального компьютера. Используйте ngrok для пересылки сообщений из внешних каналов в Интернете непосредственно на локальный компьютер, чтобы разрешить отладку, а не стандартную конечную точку обмена сообщениями, настроенную в портал Azure.
Откройте терминал и перейдите в папку с исполняемым файлом ngrok.
Выполните ngrok с помощью следующей команды, чтобы создать новый туннель.
ngrok http 3978 --host-header rewrite
Примечание.
Указанный порт — это порт, на котором работает бот. Вы можете использовать любой порт localhost, который вы хотите.
При запуске ngrok скопируйте и сохраните общедоступный URL-адрес пересылки позже.
Настройка на портале Azure
Во время выполнения ngrok войдите в портал Azure и просмотрите параметры бота, чтобы выполнить некоторую настройку.
Выберите ресурс бота, подключенный к локальному боту.
Прокрутите вниз до конфигурации. Скопируйте и вставьте URL-адрес перенаправления ngrok в поле конечной точки обмена сообщениями. Убедитесь, что вы поддерживаете "/api/messages" в конце URL-адреса.
Прокрутите вверх и нажмите кнопку "Сохранить".
Тест
На этом этапе входящие сообщения из бота из внешних каналов теперь будут отправлены локальному боту. Пример бота, который мы используем для демонстрации, уже настроен в режиме реального времени для Microsoft Teams. Прочитайте Подключение бота в Microsoft Teams о подключении локального бота к каналу Microsoft Teams.
Локально можно задать точки останова в Visual Studio. Расширение текстового свойства из входящего объекта действия вы увидите, что сообщение, отправленное ботом из команд, перехватывается локально для отладки.
Отсюда можно выполнить отладку обычно и выполнить код пошаговые инструкции. Используйте это для отладки бота из любого канала.