Размещение навыка в Google Cloud
В инструкции описано размещение навыка на Google Cloud Platform. Если вы не пользовались этим сервисом раньше, вы сможете развернуть и проверить свой навык в Google Cloud в рамках бесплатного периода.
Виртуальная машина или веб-приложение на Google Cloud Platform
Бесплатный доступ и тарификация |
Связка аккаунтов |
Командная разработка |
Поддерживаемые среды разработки |
Пробный период включает стартовый грант на 90 дней. Google Cloud Free Program (free tier) не ограничен по времени. Подробнее см. тарификацию сервисов App Engine и тарификацию виртуальных машин в Compute Engine. |
Не обязательна |
Возможна. Настройте политику Identity & Access Management (IAM). |
Поддерживаются операционные системы на базе Linux и Windows. Среды выполнения: Node.js, Java, Ruby, C#, Go, Python, PHP. Если необходимая среда выполнения не поддерживается во встроенных образах, ее можно развернуть с помощью пользовательского контейнера. |
Подготовка
-
Cоздайте нужные учетные записи, если у вас их еще нет:
- Учетная запись Google.
- Учетная запись Google Cloud, привязанная к аккаунту Google.
-
Перейдите в консоль Google Cloud и создайте новый проект. Для этого в верхней панели нажмите New Project → My first Project.
-
Находясь в созданном проекте, слева в консоли выберите Billing. Убедитесь, что вам доступен стартовый грант и срок его действия не истек.
-
Включите Сloud Build API по ссылке. Сверху выберите, для какого проекта вы подключаете API, и нажмите Next → Enable.
-
Установите Cloud SDK и авторизируйтесь.
Windows- Скачайте и запустите Cloud SDK Installer.
- Авторизируйтесь в Cloud SDK. В открывшемся окне браузера введите учетные данные аккаунта Google.
MacOS-
Выполните консольную команду
uname -m
, чтобы определить версию системы. -
Установите Сloud SDK.
x86_64arm64 -
Выполните команду
./google-cloud-sdk/bin/gcloud init
.
Создание веб-приложения
1. Создайте веб-приложение App Engine. Используйте консольную команду ниже, заменив [YOUR_PROJECT_ID]
на Projeсt ID вашего проекта:
gcloud app create --project=[YOUR_PROJECT_ID]
2. Выберите регион.
3. Установите Git.
4. Установите nvm и Node.js.
- Удалите Node.js, если устанавливали его ранее. Установите NVM for Windows.
- Установите Node.js. Используйте команду
nvm install stable
. - С помощью команды
node --version
убедитесь, что платформа установлена.
- Выполните команду
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh
. - Установите Node.js. Используйте команду
nvm install stable
. - С помощью команды
node --version
убедитесь, что платформа установлена.
5. Скачайте или скопируйте исходный код примера из GitHub-репозитория Яндекса.
6. Перейдите в каталог приложения. Установите пакеты NPM c помощью команды npm install
.
7. Запустите сервер разработки: выполните команду npm start
.
8. Разверните приложение с помощью Google Cloud: выполните команду gcloud app deploy
.
9. Дождитесь окончания процесса, чтобы получить URL в строке "target url": https://***.appspot.com
.
-
Установите Python.
-
Создайте веб-приложение App Engine. Используйте консольную команду ниже, заменив
[YOUR_PROJECT_ID]
на Projeсt ID вашего проекта:gcloud app create --project=[YOUR_PROJECT_ID]
-
Выберите регион.
-
Установите Git.
-
Выполните консольную команду
gcloud components install app-engine-python
. -
Скачайте или скопируйте исходный код примера из GitHub-репозитория Яндекса.
-
Перейдите в каталог приложения. Создайте виртуальную среду:
Windowspython -m venv env .\env\Scripts\activate
MacOSpython3 -m venv env source env/bin/activate
-
Выполните команду
pip install -r requirements.txt
. -
Разверните приложение с помощью Google Cloud: выполните команду
gcloud app deploy
. -
Дождитесь окончания процесса, чтобы получить URL в строке
"target url": https://***.appspot.com
.
Добавление Webhook URL
- Перейдите в консоль разработчика.
- Создайте навык и перейдите на вкладку Настройки.
- В блоке Backend в поле Webhook URL укажите URL приложения.
- Внизу страницы нажмите кнопку Сохранить.
Чтобы писать более сложные навыки, ознакомьтесь с протоколом работы Яндекс Диалогов.
Тестирование навыка
Подробнее о тестировании навыка.
1. Проверьте работу навыка на вкладке Тестирование. Если все настроено правильно, появится приветствие: Hello!
2. Отправьте сообщение с любым текстом и убедитесь, что вам пришел ответ с таким же содержанием.
3. Попробуйте изменить код навыка. Откройте файл app.js
в визуальном редакторе. Отредактируйте приветственную фразу: в тексте кода замените 'Hello!'
на 'Привет!'
.
4. Повторно разверните приложение с помощью консольной команды gcloud app deploy
.
5. Обновите страницу на вкладке Тестирование. Проверьте изменения в навыке.
-
Проверьте работу навыка на вкладке Тестирование. Если все настроено правильно, появится приветствие: Привет! Купи слона!
-
Отправьте сообщение и убедитесь, что навык отвечает.
-
Попробуйте изменить код навыка. Откройте файл
main.py
в визуальном редакторе. Отредактируйте приветственную фразу: замените в тексте кода'Привет! Купи слона!'
на'Добрый день! Не желаете купить слона?'
в тексте кода. -
Повторно разверните приложение с помощью консольной команды
gcloud app deploy
. -
Обновите страницу на вкладке Тестирование. Проверьте изменения в навыке.
Чтобы писать более сложные навыки, ознакомьтесь с протоколом работы Яндекс Диалогов.