Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Serverless Integrations
    • Обзор
      • Рабочий процесс
      • Запуск рабочего процесса
      • Шаблонизация
    • Квоты и лимиты
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Публичные материалы
  • История изменений

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

  • Входные данные для шаблонизатора
  • Примеры использования шаблонизатора
  • Расширения шаблонизатора
  • Переменная $global
  • Переменная $counter
  • Yandex Lockbox
  1. Концепции
  2. Workflows
  3. Шаблонизация

Шаблонизация

Статья создана
Yandex Cloud
Обновлена 30 мая 2025 г.
  • Входные данные для шаблонизатора
    • Примеры использования шаблонизатора
  • Расширения шаблонизатора
    • Переменная $global
    • Переменная $counter
    • Yandex Lockbox

Для полей спецификации YaWL, которые поддерживают шаблонизацию, значения могут генерироваться динамически с использованием данных, полученных из состояния рабочего процесса. Язык шаблонизации — jq. Подробнее см. документацию jq.

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

Входные данные для шаблонизатораВходные данные для шаблонизатора

Входные данные для шаблонизатора различаются в зависимости от поля.

Поле Входные данные
input Состояние рабочего процесса, которое было до начала выполнения шага. Например, если шаг верхнеуровневый — полное состояние рабочего процесса, если шаг внутри ветки выполнения шага Parallel — состояние рабочего процесса, отфильтрованное с помощью параметра input шага Parallel и измененное во время выполнения предыдущих шагов в ветке.
output Выходные данные шага.
Другие поля, которые поддерживают шаблонизацию JSON-объект, отфильтрованный с помощью input.

Примеры использования шаблонизатораПримеры использования шаблонизатора

Пример состояния рабочего процесса:

{
  "data": [
    {
      "some_property_0": "value_0"
    },
    {
      "some_property_1": "value_1"
    }
  ],
  "a": {
    "b": {
      "c": "value_2"
    }
  }
}
Значение поля Интерпретация шаблонизатора
this is just a string Строка без применения шаблонизации
this is a value from workflow state \(.data[1].some_property_1) this is a value from workflow state value_1
\({x: 1, y: .a.b.c}) {“x”: 1, “y”: “value_2”}

Расширения шаблонизатораРасширения шаблонизатора

Расширения шаблонизатора позволяют вызывать jq-функции, реализующие нестандартную логику.

Переменная $globalПеременная $global

Переменная $global возвращает верхнеуровневое состояние рабочего процесса, которое было перед началом выполнения текущего верхнеуровнего шага. Например, в шаге Foreach фильтрация входных данных — обязательный атрибут, и переменную $global можно использовать при выполнении последовательности шагов, указанных в do, чтобы обратиться к верхнеуровневому состоянию рабочего процесса — состоянию рабочего процесса, которое было до начала выполнения шага Foreach.

Переменная $counterПеременная $counter

Переменная $counter возвращает текущий индекс операции (индексация начинается с нуля). Переменную можно использовать внутри полей input и condition шага While.

Yandex LockboxYandex Lockbox

Специальная jq-функция lockboxPayload позволяет получать значение секрета Yandex Lockbox по его идентификатору, ключу и (опционально) версии. Чтобы расширение работало корректно, в настройках рабочего процесса должен быть указан сервисный аккаунт, у которого есть права на просмотр содержимого секретов (например, с назначенной ролью lockbox.payloadViewer). Функция доступна для использования во всех полях интеграционных шагов, кроме поля input.

Описание аргументов jq-функции lockboxPayload:

Очередность аргумента Тип Обязательное Описание
1 string Да Идентификатор секрета.
2 string Да Ключ секрета.
3 string Нет Идентификатор версии секрета.

Примеры использования jq-функцииПримеры использования jq-функции lockboxPayload

  • Получение последней версии секрета:

    \(lockboxPayload("<идентификатор_секрета>"; "<ключ_секрета>"))
    
  • Получение указанной версии секрета:

    \(lockboxPayload("<идентификатор_секрета>"; "<ключ_секрета>"; "<идентификатор_версии_секрета>"))
    

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

Предыдущая
While
Следующая
Шина
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»