Перейти к содержанию

SDK 0.3 · формат v2 · Совместимость с SDK

Обработка данных ​

data собирает значения и преобразует структурированные данные в памяти.

Параметры ​

operationВходыВыходы
buildvalue: JSONvalue
tablerows, header/columns, first_row, where, limitrecords, count, first
differencesource, target, source_key, target_key, trim, casefold, skip_empty, limititems, count, remaining
parseformat=json, textvalue
serializeformat=json, value, pretty=falsetext

Невалидный JSON завершает parse ошибкой. Результат build читается через {step.value}.

Пример ​

YAMLФрагмент формата v2
yaml
- id: payload
  block: data
  params:
    operation: build
    value:
      title: "{inputs.title}"
      published: false

Результат ​

Каждая операция возвращает поля из своей схемы в таблице выше. Например, {payload.value} — построенный объект; parse возвращает value, serialize — text.

Поведение ​

Невалидный JSON завершает parse ошибкой. Блок не выполняет сетевые запросы и пользовательский код. Дополнения сначала рассматриваем внутри data с отдельными схемами операций.

Таблица ​

Без columns первая строка — заголовок. Явные columns означают отсутствие заголовка; header=true вместе с columns запрещён.

first_row задаёт номер первой строки данных: по умолчанию 2 с заголовком, иначе 1. Поле row хранит исходный номер и не может перезаписать одноимённую колонку. where содержит field, op, expected.

Пустой ввод возвращает records=[], count=0, first=null.

Разность наборов ​

Возвращаются элементы source, ключей которых нет в target: без повторов, в исходном порядке. source_key/target_key — пути JSON Pointer; пустой путь выбирает скалярный элемент целиком.

trim, casefold и skip_empty по умолчанию false: удаление пробелов, сравнение без регистра и пропуск пустых ключей включаются явно. В формате v2 limit — положительное число или null (по умолчанию): ограничение самой операции отсутствует, но действует общий предел установки. remaining — число уникальных элементов вне заданного лимита. Старые сценарии с пределом 100 при миграции задают его явно.

Перенос старого table_difference

Старый блок неявно нормализует строки и умеет числовой фильтр. Эти правила нужно явно выразить в workflow при миграции.

Параметры операций ​

Для build оставляем одно value, для parse/serialize — явный format. JSON входит в базовую часть пакета data, отдельного extra не требуется. header и columns описывают альтернативные способы задания колонок; конфликт отклоняется. Дубликаты имён и столкновение с служебным полем row должны давать понятную ошибку, а не терять данные.

У difference убираем привязку к фиксированному максимуму 100: предел задаёт вызывающий или установка. Пути ключей остаются JSON Pointer, нормализация строк — только явными флагами. Автоматическое приведение чисел и строк к одному ключу не включаем.

Плагины и установка ​

В составе блока: Сборка значений, таблицы, разность наборов, JSON и CSV.

ПлагинВозможности
yamlЧтение и сериализация YAML-данных
xmlРазбор, выборка и сериализация XML
xlsxЛисты и значения Excel
parquetКолоночные таблицы
markupMarkdown/HTML и извлечение текста

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