Размещение навыка в 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. Если необходимая среда выполнения не поддерживается во встроенных образах, ее можно развернуть с помощью пользовательского контейнера. |
Бесплатный доступ и тарификация | Связка аккаунтов | Командная разработка | Поддерживаемые среды разработки |
---|---|---|---|
Виртуальная машина или веб-приложение на 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 Cloud, привязанная к аккаунту Google.
- Перейдите в консоль Google Cloud и создайте новый проект. Для этого в верхней панели нажмите .
- Находясь в созданном проекте, слева в консоли выберите Billing. Убедитесь, что вам доступен стартовый грант и срок его действия не истек.
- Включите Сloud Build API по ссылке. Сверху выберите, для какого проекта вы подключаете API, и нажмите .
- Установите Cloud SDK и авторизируйтесь.
- Скачайте и запустите Cloud SDK Installer.
- Авторизируйтесь в Cloud SDK. В открывшемся окне браузера введите учетные данные аккаунта Google.
- Выполните консольную команду
uname -m
, чтобы определить версию системы. - Установите Сloud SDK.x86_64arm64
- Выполните команду
./google-cloud-sdk/bin/gcloud init
.
WindowsMacOS
Создание веб-приложения
- Создайте веб-приложение App Engine. Используйте консольную команду ниже, заменив
[YOUR_PROJECT_ID]
на Projeсt ID вашего проекта:gcloud app create --project=[YOUR_PROJECT_ID]
- Выберите регион.
- Установите Git.
- Установите 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
убедитесь, что платформа установлена.
WindowsMacOS - Скачайте или скопируйте исходный код примера из GitHub-репозитория Яндекса.
- Перейдите в каталог приложения. Установите пакеты NPM c помощью команды
npm install
. - Запустите сервер разработки: выполните команду
npm start
. - Разверните приложение с помощью Google Cloud: выполните команду
gcloud app deploy
. - Дождитесь окончания процесса, чтобы получить 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 приложения.
- Внизу страницы нажмите кнопку Сохранить.
Чтобы писать более сложные навыки, ознакомьтесь с протоколом работы Яндекс Диалогов.
Тестирование навыка
Подробнее о тестировании навыка.
- Проверьте работу навыка на вкладке Тестирование. Если все настроено правильно, появится приветствие: Hello!
- Отправьте сообщение с любым текстом и убедитесь, что вам пришел ответ с таким же содержанием.
- Попробуйте изменить код навыка. Откройте файл app.js в визуальном редакторе. Отредактируйте приветственную фразу: в тексте кода замените
'Hello!'
на'Привет!'
. - Повторно разверните приложение с помощью консольной команды
gcloud app deploy
. - Обновите страницу на вкладке Тестирование. Проверьте изменения в навыке.
- Проверьте работу навыка на вкладке Тестирование. Если все настроено правильно, появится приветствие: Привет! Купи слона!
- Отправьте сообщение и убедитесь, что навык отвечает.
- Попробуйте изменить код навыка. Откройте файл main.py в визуальном редакторе. Отредактируйте приветственную фразу: замените в тексте кода
'Привет! Купи слона!'
на'Добрый день! Не желаете купить слона?'
в тексте кода. - Повторно разверните приложение с помощью консольной команды
gcloud app deploy
. - Обновите страницу на вкладке Тестирование. Проверьте изменения в навыке.
Чтобы писать более сложные навыки, ознакомьтесь с протоколом работы Яндекс Диалогов.