Развертывание узла может быть намного сложнее, чем должно быть, особенно из-за отсутствия документов V3. Я отправил запросы на внесение изменений в документы, чтобы упростить процесс. А пока у меня есть несколько шагов, которые вы можете попробовать (которые я тестировал на различных ботах V3 и V4 и методах создания):
Примечание. Эти шаги также должны работать для V4. Просто измените v3
на v4
в зависимости от ситуации. Вообще говоря, эти шаги следуют за официальными документами
Если вы не создали ресурс приложения Web Bot в Azure, перейдите на портал регистрации приложений :
- Добавить приложение - Имя становится
<bot-resource-name>
- Создать новый
- Не проверять Управляемый
- Код приложения для копирования
- Создать пароль и скопировать его
Если вы этого еще не сделали, создайте оставшиеся ресурсы Azure. Из корня папки бота:
az login
az bot create --kind webapp --name <bot-resource-name> --location <geographic-location> --version v3 --lang <language> --verbose --resource-group <resource-group-name> --appid "<application-id>" --password "<application-password>"
Создайте файл .bot для вашего проекта (если он отсутствует)
В корневой папке вашего проекта запустите:
msbot init
При необходимости зашифруйте своего местного бота. Из корня папки бота:
msbot secret --new
Скопируйте сгенерированный секрет и вставьте его в файл .env
Добавьте свою вновь созданную рабочую конечную точку к своему локальному боту. Из корня папки бота:
msbot connect endpoint --endpoint "https://<your-endpoint>.azurewebsites.net/api/messages" --name production --appId "<application-id>" --appPassword "<application-password>" --secret "<bot-file-secret>"
Откройте файл .bot в Bot Emulator и добавьте остальные службы (LUIS, хранилище и т. Д.) При необходимости:
- Открытие бота в эмуляторе Bot Framework
- На панели Bot Explorer (слева), нажмите
+
рядом с Сервисами
- Введите соответствующую информацию и повторите для каждой используемой услуги
Если вы используете v3, возможно, вам придется подготовить бота к публикации. Из корня папки вашего бота:
az bot prepare-publish --name <bot-resource-name> --resource-group <resource-group-name> --proj-name "" --sln-name ""
Примечание. Если вы публикуете бот C #, вам необходимо заполнить --proj-name
и --sln-name
в зависимости от ситуации. Если вы развертываете в узле, вы все равно должны включить его (пока), но просто используйте пустые параметры аргумента, как в примере выше.
Публикация бота в Azure. Из корня папки бота:
az bot publish --name <bot-resource-name> --resource-group <resource-group-name> --code-dir "." --verbose --version v3
Примечание. Время ожидания может истечь во время очистки папки «site / www / root». Просто введите команду еще раз, пока она не пройдет
Примечание. Может возникнуть ошибка 500 при «установке зависимостей узла». Проигнорируйте это, потому что это все еще работает.
Примечание. Возможно, вам также понадобится зайти в Службу приложений и убедиться, что она имеет правильные botFileSecret
и botFilePath
переменные среды