Размещение навыка в Yandex Cloud
Сервис Yandex Cloud Functions позволяет запускать ваш код в обслуживаемой среде в виде функции. Сервис автоматически настраивает необходимое окружение в зависимости от нагрузки — вы платите только за количество вызовов функции и затраченные вычислительные ресурсы.
Функции сервиса Cloud Functions, используемые для навыков Алисы, бесплатны и не тарифицируются.
Посмотреть видео «Как бесплатно разместить навык Алисы в Yandex Cloud»
В качестве примера будет создан навык «Попугай», который повторяет все, что ему написал или сказал пользователь. Пример реализован на двух языках программирования: Python и Node.js.
Подготовка
Перед началом вам необходимо зарегистрировать платежный аккаунт в Yandex Cloud.
Сразу после регистрации в Yandex Cloud вам станет доступно рабочее пространство — облако. Создайте в облаке функцию для навыка.
Создание веб-приложения
Создайте веб-приложение на базе Node.js по инструкции в документации.
Для работы навыка скачайте с GitHub файл с примером index.js.
Создайте веб-приложение на базе Python по инструкции в документации.
Для работы навыка скачайте с GitHub файл с примером parrot.py.
Добавление в навык ссылки на функцию
После того, как навык заработает, его можно зарегистрировать:
-
Перейдите в консоль разработчика навыка.
-
Откройте вкладку Настройки.
-
В блоке Backend выберите вариант Функция в Yandex Cloud.
-
Из выпадающего списка выберите нужную функцию.
В списке отображаются функции, которые вы имеете право просматривать, но навык будет работать только если ваш аккаунт может запускать выбранную функцию. Разрешение на запуск входит в роли Yandex Cloud serverless.functions.invoker, editor и выше.
-
Внизу страницы нажмите кнопку Сохранить.
-
Проверьте работу навыка на вкладке Тестирование. Подробнее см. раздел Тестирование навыка.
Чтобы писать более сложные навыки, ознакомьтесь с протоколом работы Яндекс Диалогов.