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


Подготовка и публикация бота

ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4

В этой статье описывается, как использовать Azure CLI для создания ресурсов для бота, подготовки бота к развертыванию и развертывания бота в Azure.

В этой статье предполагается, что у вас есть бот, готовый к развертыванию. Сведения о создании простого эхо-бота см. в статье "Создание бота с помощью пакета SDK Bot Framework". Вы также можете использовать один из примеров, приведенных в соответствующем репозитории Bot Framework.

Совет

В этой статье создается ресурс Azure Bot для бота. Существующие боты, использующие ресурс Бота веб-приложения или ресурс регистрации каналов ботов, будут продолжать работать, но вы не можете создавать новые боты, использующие эти типы ресурсов.

Примечание.

Чтобы создавать агенты с помощью выбранной службы ИИ, оркестрации и знаний, рекомендуется использовать пакет SDK для агентов Microsoft 365. Пакет SDK для агентов поддерживает C#, JavaScript или Python. Дополнительные сведения о пакете SDK для агентов см. в aka.ms/agents. Если вы ищете платформу агента на основе SaaS, рассмотрите microsoft Copilot Studio. Если у вас есть существующий бот, созданный с помощью пакета SDK Bot Framework, вы можете обновить бота до пакета SDK для агентов. Вы можете ознакомиться с основными изменениями и обновлениями в руководстве по миграции с Bot Framework SDK на SDK для агентов. Запросы на поддержку пакета SDK Bot Framework больше не будут обслуживаться с 31 декабря 2025 г.

Необходимые компоненты

  • Для ботов Java установите Maven.

  • Этот процесс использует два шаблона Azure Resource Manager (шаблоны ARM) для создания ресурсов для бота.

    Если у вас нет текущих шаблонов, создайте копию в проекте бота папки deploymentTemplates: C#, JavaScript, Python или Java.

Чтобы использовать Azure CLI для подготовки и публикации ботов, вам потребуется:

  • Учетная запись Azure с активной подпиской. Создайте бесплатную учетную запись.

  • Установка Azure CLI.

    Для языка программирования используйте следующую версию Azure CLI. Некоторые шаги не будут работать с более поздними версиями интерфейса командной строки.

    Язык Версия интерфейса командной строки
    C# и JavaScript 2.39.0 или более поздней версии
    Питон 2.55.0 или более поздней версии
    Ява 2.29.2

Примечание.

Если бот использует дополнительные ресурсы, например службу хранилища или языковые службы, их необходимо развернуть отдельно.

Планирование развертывания

Прежде чем начать, сделайте эти решения.

Решение Примечания.
Управление удостоверениями ресурсов бота в Azure Вы можете использовать управляемое удостоверение, назначаемое пользователем, регистрацию однотенантного приложения или регистрацию приложения-мутли-клиента. Дополнительные сведения см. в разделе "Создание ресурса удостоверения".
В каких группах ресурсов или группах ресурсов вы создадите ресурсы бота Пока вы не знакомы с этим процессом, рекомендуется использовать одну группу ресурсов. Дополнительные сведения см. в статье "Управление ресурсами Azure".
Будет ли бот региональным или глобальным Дополнительные сведения о региональных ботах см. в разделе "Регионизация" в azure AI Служба Bot.

Идентификацией бота можно управлять в Azure несколькими способами.

  • Используя управляемое удостоверение, назначаемое пользователем, вы не должны управлять учетными данными вручную.
  • Как однотенантное приложение.
  • В качестве мультитенантного приложения.

Примечание.

  • Поддержка управляемых удостоверений, назначаемых пользователем , и типов приложений с одним клиентом доступна в пакете SDK Bot Framework для C#, JavaScript и Python.
  • Эти типы приложений не поддерживаются на других языках SDK, Bot Framework Composer, эмуляторе Bot Framework или в туннелях разработки.

Внимание

  • Создание многотенантного бота будет прекращено после 31 июля 2025 г.
  • Существующие многотенантные боты будут продолжать функционировать, но создание нового мультитенантного бота больше не будет поддерживаться после этой даты.
  • Чтобы обеспечить постоянную поддержку, используйте одноарендное или управляемое удостоверение, назначенное пользователем.

Поддерживаемые типы приложений

Тип приложения Поддерживается в
Управляемое удостоверение, назначаемое пользователем Служба Azure AI Bot; Пакеты SDK для C#, JavaScript и Python
Один клиент Служба Azure AI Bot; Пакеты SDK для C#, JavaScript и Python
Мультитенантный (устаревший — заканчивается 31 июля 2025 г.) Служба Azure AI Bot; все языки пакета SDK Bot Framework; Композитор; Эмулятор; Туннели разработки

Внимание

Боты Python нельзя развернуть в группе ресурсов, содержащей службы Или боты Windows. Однако несколько ботов Python можно развернуть в одной группе ресурсов. Создайте другие службы, такие как службы ИИ Azure, в другой группе ресурсов.

Ресурсы Azure

Перед развертыванием бота необходимо создать (или подготовить) необходимые ресурсы Azure. Для некоторых действий можно использовать существующий ресурс или создать новый.

Возможно, вам будет полезно заранее решить имена новых ресурсов, которые вы создадите, и имена существующих ресурсов, которые вы будете использовать. Бот будет использовать эти типы ресурсов.

  • Подписка Azure, используемая для подготовки, публикации и управления ботом
  • Одна или несколько групп ресурсов
  • Управляемое удостоверение , назначаемое пользователем, или регистрация приложения идентификатора Microsoft Entra
  • Ресурс плана Служба приложений
  • Ресурс Служба приложений
  • Ресурс Azure Bot

Сведения, используемые в ресурсах

При создании ресурсов в Azure Azure будут создаваться или запрашиваться идентификаторы, пароли и другие сведения, необходимые в последующих шагах. В следующей таблице перечислены сведения, выходящие за рамки имен ресурсов, которые необходимо записать, на котором он создан, и в каких шагах он используется.

Внимание

Многие из этих идентификаторов и паролей являются конфиденциальной информацией. Сведения об общих рекомендациях по безопасности см . в рекомендациях по безопасности Bot Framework.

Информация Место создания или обнаружения Где используется
Идентификатор клиента Вход и выбор подписки Создание ресурса Служба приложений с помощью Azure CLI, создание или обновление ресурса Azure Bot, обновление параметров конфигурации проекта с помощью Azure CLI
Тип приложения Создание ресурса удостоверения Создание ресурса Служба приложений с помощью Azure CLI, создание или обновление ресурса Azure Bot, обновление параметров конфигурации проекта с помощью Azure CLI
Идентификатор клиента Создание ресурса удостоверения Создание ресурса Служба приложений с помощью Azure CLI, создание или обновление ресурса Azure Bot, обновление параметров конфигурации проекта с помощью Azure CLI
URL-адрес службы базовых приложений Создание ресурса Служба приложений с помощью Azure CLI Создание или обновление ресурса Azure Bot с помощью Azure CLI
Имя службы приложений Создание ресурса Служба приложений с помощью Azure CLI Публикация бота в Azure

Вход и выбор подписки

  1. Откройте командное окно.

  2. войдите в Azure.

    az login
    
    • Откроется окно браузера. Завершите процесс входа в систему.
    • При успешном выполнении команда выводит список подписок, к которой у вашей учетной записи есть доступ.
  3. Чтобы задать используемую подписку, выполните следующую команду:

    az account set --subscription "<subscription>"
    

    Для <подписки> используйте идентификатор или имя используемой подписки.

  4. Если вы создадите управляемое удостоверение, назначаемое пользователем, или бот с одним клиентом, запишите tenantId подписку. Идентификатор клиента будет использоваться в следующих шагах.

Совет

Если вам нужно работать в недоступном облаке, ознакомьтесь с azure Cloud Management с помощью Azure CLI.

Создание групп ресурсов

Если у вас еще нет соответствующей группы ресурсов, используйте az group create команду для создания новых групп ресурсов.

az group create --name "<group>" --location "<region>"
Вариант Описание
имя Имя создаваемой группы ресурсов.
расположение Регион, в котором создается группа ресурсов.

Дополнительные сведения см. в статье "Управление группами ресурсов Azure" с помощью Azure CLI.

Создание ресурса удостоверения

  1. Для создания управляемого удостоверения, назначаемого пользователем, используйте команду az identity create. При успешном выполнении команда создает выходные данные JSON.

    az identity create --resource-group "<group>" --name "<identity>"
    
    Вариант Описание
    группировка ресурсов Имя группы ресурсов, в которой создается удостоверение.
    имя Имя создаваемого ресурса удостоверения.

    Дополнительные сведения см. в справочнике по az identity .

  2. Записи значений, которые потребуются в последующих шагах.

    1. Имя группы ресурсов для ресурса удостоверений
    2. Имя ресурса удостоверения
    3. Выходные clientId данные команды

Создание ресурсов с помощью шаблонов ARM

Создайте Служба приложений и ресурсы Azure Bot для бота. Оба шага используют шаблон ARM и az deployment group create команду Azure CLI для создания ресурса или ресурсов.

  1. Создайте ресурс Служба приложений для бота. Служба приложений может находиться в новом или существующем плане Служба приложений.

    Подробные инструкции см. в статье "Использование Azure CLI для создания Служба приложений".

  2. Создайте ресурс Azure Bot для бота.

    Подробные инструкции см. в статье "Использование Azure CLI для создания или обновления Azure Bot".

Внимание

Эти действия можно выполнить в любом порядке. Однако при первом создании Azure Bot необходимо обновить конечную точку обмена сообщениями после создания ресурса Служба приложений.

Обновление параметров конфигурации проекта

Идентификационная информация бота

Выполните следующие действия, чтобы добавить сведения об удостоверениях в файл конфигурации бота. Файл отличается в зависимости от языка программирования, используемого для создания бота.

Внимание

  • Версия пакета SDK Bot Framework для Java поддерживает только многотенантные боты.
  • Версии C#, JavaScript и Python поддерживают все три типа приложений для управления удостоверением бота.
Язык Имя файла Примечания.
C# appsettings.json Поддерживает все три типа приложений для управления удостоверениями бота.
JavaScript env. Поддерживает все три типа приложений для управления удостоверениями бота.
Ява файл настроек application.properties Поддерживает только многотенантные боты.
Питон config.py Поддерживает все три типа приложений для управления удостоверениями бота.

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

Доступно для ботов C#, JavaScript и Python.

Свойство Значение
MicrosoftAppType UserAssignedMSI
MicrosoftAppId Идентификатор клиента управляемого удостоверения, назначаемого пользователем.
MicrosoftAppPassword Неприменимо. Оставьте это пустым для бота управляемого удостоверения, назначаемого пользователем.
MicrosoftAppTenantId Идентификатор клиента управляемого удостоверения, назначаемого пользователем.

Подготовка файлов проекта

Подготовьте файлы проекта перед развертыванием бота.

  1. Переключитесь в корневую папку проекта. Для C#корневой каталог — это папка, содержащая CSPROJ-файл.

  2. Выполните чистую перестроение в режиме выпуска.

  3. Если вы этого еще не сделали, выполните команду az bot prepare-deploy , чтобы добавить необходимые файлы в корневой каталог локального исходного кода. Эта команда создаст файл .deployment в папке проекта бота.

    az bot prepare-deploy --lang Csharp --code-dir "." --proj-file-path "<my-cs-proj>"
    
    Вариант Описание
    давным-давно Язык или среда выполнения бота. Используйте Csharp.
    code-dir Каталог для размещения созданных файлов развертывания. Используйте корневую папку проекта. По умолчанию используется текущий каталог.
    proj-file-path Путь к CSPROJ-файлу для бота code-dir относительно параметра.
  4. В корневой папке проекта создайте ZIP-файл, содержащий все файлы и вложенные папки.

Публикация бота в Azure

На этом этапе вы готовы развернуть код для бота в Служба приложений ресурсе.

Примечание.

Этот шаг может занять несколько минут. Кроме того, после завершения развертывания бот станет доступным для тестирования через несколько минут.

az webapp deploy Выполните команду из командной строки, чтобы выполнить развертывание с помощью zip-развертывания Kudu zip-отправки для службы приложений (веб-приложение).

Вариант Описание
группировка ресурсов Имя группы ресурсов Azure, которая содержит бота.
имя Имя службы приложений, которую вы использовали ранее.
src Абсолютный или относительный путь к созданному файлу проекта.

Совет

По умолчанию эта команда развертывается в рабочем слоте. Используйте необязательный --slot параметр, чтобы указать другой слот. Дополнительные сведения см. в справочной документацииaz webapp deploy.

Тест в веб-чате

  1. В браузере перейдите на портал Azure.
  2. Перейдите к ресурсу бота.
  3. Откройте панель Test in Web Chat (Тестирование в веб-чате).
  4. Взаимодействуйте с развернутыми ботами.

Дополнительные сведения о регистрации бота см. в разделе "Регистрация бота с помощью Служба Bot".

Очистка ресурсов

Если вы не собираетесь публиковать это приложение, удалите связанные ресурсы, выполнив следующие действия.

  1. На портале Azure откройте группу ресурсов бота.
    1. Выберите "Удалить группу ресурсов", чтобы удалить группу и все содержащиеся в ней ресурсы.
    2. Введите имя группы ресурсов в области подтверждения, а затем нажмите кнопку "Удалить".
  2. Если вы создали однотенантное или мультитенантное приложение:
    1. Перейдите в колонку идентификатора Microsoft Entra ID.
    2. Найдите регистрацию приложения, используемую для бота, и удалите ее.

Дополнительные ресурсы

Дополнительные сведения о приложениях и ресурсах Azure, используемых для размещения бота, см. в этих статьях.

Тема Статья
Azure CLI (Интерфейс командной строки для Azure) Что такое Azure CLI?
Управление подписками Azure Управление подписками Azure с помощью Azure CLI
Регионы Azure Регионы и зоны доступности
Группы ресурсов и управление ресурсами Getting Started with Resources - Manage Resource - in Java (Приступая к работе с ресурсами: управление ресурсами в Java)
Управляемые удостоверения Что такое управляемые удостоверения для ресурсов Azure?
Однотенантные и мультитенантные приложения Арендочность в идентификаторе Microsoft Entra
Веб-приложения Служба приложений
Вычислительные ресурсы для веб-приложений Планы службы приложений
шаблоны Azure Resource Manager (шаблоны ARM); Что такое шаблоны ARM? Использование шаблонов развертывания Azure Resource Manager (ARM) с Azure CLI
Выставление счетов в Azure Управление выставлением счетов и затратами

Файлы Kudu

Команда развертывания веб-приложения использует Kudu для развертывания ботов C#, JavaScript и Python. При использовании не настроенного API zip-развертывания для развертывания кода бота поведение выглядит следующим образом:

Kudu предполагает, что развертывания из .zip файлов готовы к выполнению и не требуют дополнительных шагов сборки во время развертывания, таких как npm install или dotnet restore/dotnet publish.

Важно включить встроенный код со всеми необходимыми зависимостями в развернутый ZIP-файл; в противном случае бот не будет работать должным образом. Дополнительные сведения см. в документации Azure по развертыванию файлов в Служба приложений.

Следующие шаги