Размещение навыка в Azure
Примеры навыков для Node.js и Python проверены и адаптированы для размещения на платформе Microsoft Azure. Если вы не пользовались этим сервисом раньше, вы сможете развернуть и проверить свой навык в Azure в рамках бесплатного периода.
Бесплатный доступ и тарификация | Связка аккаунтов | Командная разработка | Поддерживаемые среды разработки |
---|---|---|---|
Виртуальная машина или веб-приложение в Microsoft Azure | |||
Пробный период включает стартовый грант на 30 дней. Виртуальные машины, базы данных и некоторые службы Azure предоставляются бесплатно в течение 12 месяцев. Все бесплатные сервисы ограничены по ресурсам: 750 часов вычислений на виртуальных машинах в месяц, 10 приложений с Azure App Service. | Обязательна. Необходимо связать учетную запись Microsoft с учетной записью Azure. | Возможна. Настройте доступ пользователей в Azure Active Directory. | Поддерживаются операционные системы на базе Linux и Windows. Среды выполнения: Node.js, Python, Java, PHP, .NET Core, Ruby. Если необходимая среда выполнения не поддерживается во встроенных образах, ее можно развернуть с помощью пользовательского контейнера. |
Бесплатный доступ и тарификация | Связка аккаунтов | Командная разработка | Поддерживаемые среды разработки |
---|---|---|---|
Виртуальная машина или веб-приложение в Microsoft Azure | |||
Пробный период включает стартовый грант на 30 дней. Виртуальные машины, базы данных и некоторые службы Azure предоставляются бесплатно в течение 12 месяцев. Все бесплатные сервисы ограничены по ресурсам: 750 часов вычислений на виртуальных машинах в месяц, 10 приложений с Azure App Service. | Обязательна. Необходимо связать учетную запись Microsoft с учетной записью Azure. | Возможна. Настройте доступ пользователей в Azure Active Directory. | Поддерживаются операционные системы на базе Linux и Windows. Среды выполнения: Node.js, Python, Java, PHP, .NET Core, Ruby. Если необходимая среда выполнения не поддерживается во встроенных образах, ее можно развернуть с помощью пользовательского контейнера. |
Подготовка
Создайте нужные учетные записи, если у вас их еще нет:
- Учетная запись Azure, привязанная к аккаунту Microsoft.
- Установите Azure CLI. Выполните консольную команду
az --version
. Убедитесь, что установлена версия 2.0.80 или выше. - Войдите в Azure с помощью CLI, используя консольную команду
az login
. Откроется окно браузера для ввода учетных данных.
Создание веб-приложения
- Установите Node.js. С помощью команды
node --version
убедитесь, что платформа установлена. - Скачайте или скопируйте исходный код примера из GitHub-репозитория Яндекса.
- Перейдите в каталог приложения и установите пакеты NPM с помощью команды
npm install
. - Запустите сервер разработки: выполните команду
npm start
. - Разверните приложение с помощью Azure. Используйте команду ниже, подставив вместо
<app-name>
уникальное имя приложения.Linuxaz webapp up --sku F1 --name <app-name>
Windowsaz webapp up --sku F1 --name <app-name> --os-type Windows
- Дождитесь окончания процесса, чтобы получить URL в строке
"URL": http://***.azurewebsites.net
.
- Установите Python 3.6 или более поздней версии. В командной строке выполните команду, чтобы убедиться, что установлена нужная версия:
python3 --version
— для Linux.py -3 --version
— для Windows.
Cкачайте или скопируйте исходный код примера из GitHub-репозитория Яндекса.
Перейдите в каталог приложения. Создайте виртуальную среду:
Linuxpython3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt
Windowspy -3 -m venv .venv source .venv\\scripts\\activate pip install -r requirements.txt
- Запустите сервер разработки: в командной строке выполните команду
flask run.
- Разверните приложение с помощью Azure. Используйте команду ниже, подставив вместо
<app-name>
уникальное имя приложения.Linuxaz webapp up --sku F1 --name <app-name>
Windowsaz webapp up --sku F1 --name <app-name> --os-type Windows
- Дождитесь окончания процесса, чтобы получить URL в строке
"URL": http://***.azurewebsites.net
.
Добавление Webhook URL
- Перейдите в консоль разработчика.
- Создайте навык и перейдите на вкладку Настройки.
- В блоке Backend выберите Webhook URL и укажите URL приложения. Замените
http
наhttps
. - Внизу страницы нажмите кнопку Сохранить.
Тестирование навыка
Подробнее о тестировании навыка.
- Проверьте работу навыка на вкладке Тестирование. Если все настроено правильно, появится приветствие: Hello!
- Отправьте сообщение с любым текстом и убедитесь, что вам пришел ответ с таким же содержанием.
- Попробуйте изменить код навыка. Откройте файл index.js в визуальном редакторе. Отредактируйте приветственную фразу: в тексте кода замените
'Hello!'
на'Привет!'
. - Повторно разверните приложение с помощью консольной команды
az webapp up
. - Обновите страницу на вкладке Тестирование. Проверьте изменения в навыке.
- Проверьте работу навыка на вкладке Тестирование. Если все настроено правильно, появится приветствие: Привет! Купи слона!
- Отправьте сообщение и убедитесь, что навык отвечает.
- Попробуйте изменить код навыка. Откройте файл app.py в визуальном редакторе. Отредактируйте приветственную фразу: в тексте кода замените
'Привет! Купи слона!'
на'Добрый день! Не желаете купить слона?'
. - Повторно разверните приложение с помощью консольной команды
az webapp up
. - Обновите страницу на вкладке Тестирование. Проверьте изменения в навыке.
Чтобы писать более сложные навыки, ознакомьтесь с протоколом работы Яндекс Диалогов.