Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
      • Защита API Gateway при помощи Smart Web Security
        • Обзор
        • Консоль управления, CLI и API
        • Terraform
      • Разработка навыка Алисы и сайта с авторизацией
      • Использование API Gateway для настройки синтеза речи в SpeechKit

В этой статье:

  • Перед началом работы
  • Подготовьте код для навыка Алисы
  • Создайте инфраструктуру
  • Добавьте ссылку на функцию в навык Алисы
  • Протестируйте работу навыка
  • Как удалить созданные ресурсы
  1. Бессерверные технологии
  2. Интеграция с сервисами Яндекса и Yandex Cloud
  3. Создание навыка Алисы
  4. Terraform

Создание навыка Алисы с помощью Terraform

Статья создана
Yandex Cloud
Улучшена
kvendingoldo
Обновлена 18 июня 2026 г.
  • Перед началом работы
  • Подготовьте код для навыка Алисы
  • Создайте инфраструктуру
  • Добавьте ссылку на функцию в навык Алисы
  • Протестируйте работу навыка
  • Как удалить созданные ресурсы

Чтобы создать навык Алисы с помощью Terraform:

  1. Подготовьте облако к работе.
  2. Подготовьте код навыка.
  3. Создайте инфраструктуру.
  4. Добавьте ссылку на функцию в навык Алисы.
  5. Протестируйте работу навыка.

Если созданные ресурсы вам больше не нужны, удалите их.

Перед началом работыПеред началом работы

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Подготовьте код для навыка АлисыПодготовьте код для навыка Алисы

Для создания версии функции вы можете воспользоваться одним из форматов загрузки кода. Для примера код будет загружен в формате ZIP-архива.

Python
Node.js
  1. Скачайте из репозитория на GitHub файл с примером: parrot.py.
  2. Создайте ZIP-архив parrot-py.zip с файлом parrot.py.
  1. Скачайте из репозитория на GitHub файл с примером: index.js.
  2. Создайте ZIP-архив parrot-js.zip с файлом index.js.

Версия содержит код функции, параметры запуска, а также все необходимые зависимости. На разных стадиях процесса разработки вы можете работать с разными версиями одной функции. Подробнее читайте в разделе Версия функции.

Загружать код версии функции можно несколькими способами: в редакторе в консоли управления, из локальных файлов и директорий или в виде архива. Подробнее читайте в разделе Формат загрузки кода.

Создайте инфраструктуруСоздайте инфраструктуру

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробная информация о ресурсах провайдера в документации на сайте Terraform или в зеркале.

Чтобы создать инфраструктуру с помощью Terraform:

  1. Установите Terraform, получите данные для аутентификации и укажите источник для установки провайдера Yandex Cloud (раздел Настройте провайдер, шаг 1).

  2. Подготовьте файл с описанием инфраструктуры:

    Готовая конфигурация
    Вручную
    1. Склонируйте репозиторий с конфигурационными файлами:

      git clone https://github.com/yandex-cloud-examples/yc-serverless-alice-skill
      
    2. Перейдите в директорию с репозиторием. В ней должны появиться файлы:

      • alice-skill.tf — конфигурация создаваемой инфраструктуры.
      • alice-skill.auto.tfvars — пользовательские данные.
    1. Создайте папку для файла с описанием инфраструктуры.

    2. Создайте в папке конфигурационный файл alice-skill.tf:

      alice-skill.tf
      # Объявление переменных
      
      variable "folder_id" {
        type = string
      }
      
      variable "file_path" {
        type = string
      }
      
      variable "language" {
        type = string
      }
      
      # Настройка провайдера
      
      terraform {
        required_providers {
          yandex = {
            source = "yandex-cloud/yandex"
          }
        }
        required_version = ">= 0.13"
      }
      
      provider "yandex" {
        folder_id = var.folder_id
      }
      
      # Создание функции и версии функции
      
      resource "yandex_function" "alice_parrot" {
        name               = "alice-parrot"
        description        = "Yandex Alice skill: Parrot (repeats user input)"
        runtime            = var.language == "python" ? "python314" : "nodejs22"
        entrypoint         = var.language == "python" ? "parrot.handler" : "index.handler"
        memory             = 128
        execution_timeout  = 2
      
        content {
          zip_filename = var.file_path
        }
      
        user_hash = filesha256(var.file_path)
      }
      
    3. Создайте в папке файл с пользовательскими данными alice-skill.auto.tfvars:

      alice-skill.auto.tfvars
      folder_id         = "<идентификатор_каталога>"
      file_path         = "<локальный_путь_к_архиву_с_кодом_функции>"
      language          = "<язык_программирования>"
      

    Подробнее о параметрах используемых ресурсов в Terraform читайте в документации провайдера.

  3. В файле alice-skill.auto.tfvars задайте пользовательские параметры:

    • folder_id — идентификатор каталога.

    • file_path — локальный путь к файлу с архивом, содержащим код функции. Например: /Users/myuser/Temp/parrot-py.zip.

    • language — в зависимости от используемого в коде функции языка программирования укажите:

      • python — если вы используете пример на Python;
      • nodejs — если вы используете пример на Node.js.
  4. Создайте ресурсы:

    1. В терминале перейдите в директорию с конфигурационным файлом.

    2. Проверьте корректность конфигурации с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Добавьте ссылку на функцию в навык АлисыДобавьте ссылку на функцию в навык Алисы

Интерфейс Яндекс Диалогов
  1. Перейдите на страницу навыка Алисы в личном кабинете.

  2. Нажмите Создать навык Алисы и в открывшемся окне:

    1. В поле Название навыка задайте уникальное имя создаваемого навыка.

    2. В поле Backend выберите вариант Функция в Яндекс Облаке. В выпадающем списке выберите созданную ранее функцию.

      Важно

      В списке отображаются функции, которые вы имеете право просматривать. Чтобы прикрепить функцию к навыку, вам необходимо разрешение на запуск функции. Это разрешение входит в роль functions.functionInvoker и выше.

    3. Настройки остальных параметров оставьте без изменений и вверху страницы нажмите кнопку Сохранить.

Роль functions.functionInvoker позволяет вызывать функции. Подробнее об управлении доступом в Yandex Cloud читайте в разделе Как устроено управление доступом в Yandex Cloud.

Протестируйте работу навыкаПротестируйте работу навыка

Интерфейс Яндекс Диалогов
  1. В личном кабинете Яндекс Диалогов на странице с созданным ранее навыком в меню слева выберите Тестирование.
  2. Если все настроено правильно, в блоке Чат вы увидите сообщение с приглашением начать беседу: Hello! I'll repeat anything you say to me.
  3. Отправьте сообщение с любым текстом и убедитесь, что вам пришел ответ с таким же содержанием.

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Откройте конфигурационный файл alice-skill.tf и удалите описание создаваемой инфраструктуры из файла.

  2. Примените изменения:

    1. В терминале перейдите в директорию с конфигурационным файлом.

    2. Проверьте корректность конфигурации с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

Полезные ссылкиПолезные ссылки

  • Создание навыка Алисы в консоли управления, с помощью Yandex Cloud CLI или API

Была ли статья полезна?

Предыдущая
Консоль управления, CLI и API
Следующая
Разработка навыка Алисы и сайта с авторизацией
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»