Использование BotFramework DirectLine без службы Azure Bot

Я хочу создать бота, интегрирующего API-интерфейс Bot Framework DirectLine, который они предлагают.

Но я хотел, чтобы сервис не зависел от облачных сервисов. Итак, идея состоит в том, чтобы использовать возможность BotFramework для запуска разговоров и сохранения кеша разговоров, используя идентификатор разговора, который он генерирует, но бизнес-логика может быть в любой облачной службе (AWS / Google / IBM Cluod) и т. Д.

Можно ли создать то же самое с помощью API DirectLine без привязки к службе Azure Bot?

https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-directline?view=azure-bot-service-4.0

https://docs.microsoft.com/bs-latn-ba/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-receive-activities?view=azure-bot-service-3.0


person Rahul Kalidindi    schedule 04.11.2019    source источник


Ответы (1)


Bot Framework работает с ботами, развернутыми на любой службе облачного хостинга, если у вас есть конечная точка, доступная в Интернете, и действующий сертификат HTTPS.

  • В этой проблеме объясняется, как запустить своего бота в IIS или на любом другом боте. услуги хостинга.
  • Одним из примеров неофициальной реализации прямой линии, не требующей использования Azure, является offline-directline. В этом примере настраивается локальный веб-сервер, который имитирует DirectLine API и туннелирует запросы к вашему боту.
  • Что касается размещения вашего бота в IIS или любых других облачных сервисах, имейте в виду, что
    'Bot Framework требует, чтобы сертификат x.509v3, предоставляемый вашей конечной точкой, был актуальным и действительным. Большинство проверок на «текущие и действительные» являются стандартными проверками для сертификатов сервера: CN должен соответствовать имени хоста, срок его действия не должен истекать, он не должен быть указан в CRL, он должен иметь правильный набор EKU и т. Д. Самое главное, ваш сертификат должен быть связан с корневым центром сертификации, которому доверяет Microsoft. Последний список этих центров сертификации доступен здесь. '

Примечание. offline-directline - это неофициальный частный пакет, и поддержка контейнеров инфраструктуры ботов официально не поддерживается. См. этот ответ об использовании локализованной версии Direct Line API с бот-фреймворком. Надеюсь это поможет.

person ranusharao    schedule 04.11.2019
comment
Оффлайн-прямая линия кажется лишь временным решением для целей разработки. Можно ли развернуть это как услугу и развернуть в контейнере для использования в производственных сценариях? - person Rahul Kalidindi; 13.11.2019
comment
На данный момент доступна только поддержка контейнера LUIS, но, похоже, нет никакой поддержки для службы фреймворка бота. - person ranusharao; 13.11.2019