Поделиться через


Отладка ботов из любого канала с помощью 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.

  1. Откройте терминал и перейдите в папку с исполняемым файлом ngrok.

  2. Выполните ngrok с помощью следующей команды, чтобы создать новый туннель.

    ngrok http 3978 --host-header rewrite
    

    Примечание.

    Указанный порт — это порт, на котором работает бот. Вы можете использовать любой порт localhost, который вы хотите.

  3. При запуске ngrok скопируйте и сохраните общедоступный URL-адрес пересылки позже.

    ngrok forwarding URL

Настройка на портале Azure

Во время выполнения ngrok войдите в портал Azure и просмотрите параметры бота, чтобы выполнить некоторую настройку.

  1. Выберите ресурс бота, подключенный к локальному боту.

  2. Прокрутите вниз до конфигурации. Скопируйте и вставьте URL-адрес перенаправления ngrok в поле конечной точки обмена сообщениями. Убедитесь, что вы поддерживаете "/api/messages" в конце URL-адреса.

    Messaging endpoint

  3. Прокрутите вверх и нажмите кнопку "Сохранить".

Тест

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

Teams channel

Локально можно задать точки останова в Visual Studio. Расширение текстового свойства из входящего объекта действия вы увидите, что сообщение, отправленное ботом из команд, перехватывается локально для отладки.

Set breakpoints

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

Дополнительные сведения