Подготовка сервера с навыком
Навык сначала надо где-то разместить. В этом разделе собраны инструкции для некоторых способов:
- В Yandex Cloud — простой и бесплатный способ.
- В Vercel.
- В Microsoft Azure.
- В Google Cloud.
- В Amazon Web Services.
- На своем сервере.
Не знаете, что выбрать?
Посмотрите таблицы со сравнением этих и других способов.
Функция в Yandex Cloud — поддержка облачных сервисов и бессерверных (serverless) приложений
Бесплатный доступ и тарификация |
Связка аккаунтов |
Командная разработка |
Поддерживаемые среды разработки |
Cloud Functions, которые вы используете для навыков Алисы, бесплатны и не тарифицируются. В остальных случаях см. тарификацию ресурсов Yandex Cloud. |
Обязательна. В консоли Диалогов в параметре Backend отображаются функции, которые вы имеете право просматривать. Но навык будет работать, только если ваш аккаунт может запускать выбранную функцию. Разрешение на запуск входит в роли Yandex Cloud serverless-functions-invoker, editor и выше. |
Возможна. Назначайте другим пользователям роли для доступа к функции. |
Node.js, Python, Go, Java, .NET Core, PHP, R, Bash |
Сервисы с поддержкой Webhook
Веб-приложение в Firebase
Бесплатный доступ и тарификация |
Связка аккаунтов |
Командная разработка |
Поддерживаемые среды разработки |
Бесплатный план содержит 10 ГБ дискового пространства, 360 МБ трафика в день и поддерживает до 100 одновременных подключений. Подробнее см. в тарификации Firebase. |
Не обязательна. Вы можете интегрировать аккаунт с Google Cloud Platform и GitHub. |
Возможна. Назначайте роли для доступа к проекту, используя политику Identity & Access Management (IAM). |
Node.js, Java, C#, Go, Python |
Проект в Vercel
Бесплатный доступ и тарификация |
Связка аккаунтов |
Командная разработка |
Поддерживаемые среды разработки |
Бесплатный план содержит 100 ГБ дискового пространства, 100 ГБ ежемесячного трафика и неограниченное количество проектов. |
Обязательна. |
Возможна в платной версии. Подробнее см. документацию Vercel. |
Node.js, Go, Python, Ruby |
Сервисы с поддержкой Webhook и облачных сервисов
Виртуальная машина в Yandex Cloud
Бесплатный доступ и тарификация |
Связка аккаунтов |
Командная разработка |
Поддерживаемые среды разработки |
Пробный период включает стартовый грант на 60 дней. В остальных случаях см. тарификацию ресурсов Yandex Cloud. |
Не обязательна. Вы можете создать сервисный аккаунт. Это позволит гибко настраивать права доступа к ресурсам Yandex Cloud. |
Возможна. Назначайте другим пользователям права доступа. |
Поддерживаются операционные системы на базе Linux и Windows. Среды выполнения — без ограничений. |
Виртуальная машина или веб-приложение в 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. Если необходимая среда выполнения не поддерживается во встроенных образах, ее можно развернуть с помощью пользовательского контейнера. |
Виртуальная машина или веб-приложение в Amazon Web Services
Бесплатный доступ и тарификация |
Связка аккаунтов |
Командная разработка |
Поддерживаемые среды разработки |
Уровень бесплатного использования длится 12 месяцев. Подробнее см. тарификацию сервисов AWS. Все бесплатные сервисы ограничены по ресурсам: 750 часов вычислений на виртуальных машинах в месяц. |
Не обязательна |
Возможна. Настройте доступ пользователей в сервисе Identity & Access Management (IAM). |
Поддерживаются операционные системы на базе Linux и Windows. Среды выполнения: Node.js, Python, Go, Java, .NET Core, PHP, Ruby. |
Виртуальная машина или веб-приложение на 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. Если необходимая среда выполнения не поддерживается во встроенных образах, ее можно развернуть с помощью пользовательского контейнера. |
Не нашли свой способ?
Разместить навык можно на любом сервере. Работает это так:
- Создайте сервер, который ожидает запросы с помощью вебхука.
- Укажите ссылку на ваш сервер (Webhook URL) при создании навыка в консоли.
- Когда пользователь запускает навык или что-то делает в нем, платформа Диалогов передает эти запросы на ваш сервер по указанной ссылке. Формат запросов и ответов — в справочнике API.
Как попробовать:
- Скачайте или скопируйте исходный код примера из GitHub-репозитория Яндекса.
- Разместите его привычным для вас способом.
- Получите Webhook URL, на который платформа Диалогов будет отправлять запросы.
- Создайте навык в консоли и укажите в нем ваш Webhook URL.
Совет
Напишите нам, какой инструкции вам не хватает в документации. Если у вас есть готовый пример, приложите его. Так вы поможете другим пользователям Диалогов и сделаете Алису еще лучше.