Основные узлы

На этой странице представлены узлы, являющиеся основными строительными блоками при создании потоков.

Inject#

Узел Inject можно использовать для ручного вброса сообщений в поток, нажатием по кнопке узла в редакторе. Его также можно использовать для автоматической отправки сообщений по таймеру, через определенные промежутки времени.

В сообщении, отправляемом узлом Inject, можно задать любые свойства различных типов:

  • строка, число, логическое значение, буфер или объект
  • текущая метка времени в миллисекундах с 1 января 1970 г.
  • значение свойства потокового или глобального контекста

Debug#

Узел Debug можно использовать для отображения сообщений на боковой панели отладки в редакторе.

Боковая панель предоставляет структурированный вид получаемых им сообщений, что упрощает изучение его содержимого.

Рядом с каждым сообщением на боковой панели отладки отображается время получения сообщения, а также идентификатор сообщившего Debug узла. Щелчок по идентификатору покажет этот узел в рабочей области.

Кнопка на узле может использоваться для включения или отключения вывода сообщений на боковую панель. Рекомендуется отключать или удалять все неиспользуемые узлы отладки.

Узел также можно настроить на отправку всех сообщений в журнал среды выполнения или на отправку короткого (32 символа) текста состояния под Debug узлом.

Дополнительная информация об использовании боковой панели отладки есть на странице «работа с сообщениями».

Function#

Узел Function позволяет исполнять код на языке JavaScript для сообщений, которые проходят через него.

Полное руководство по использованию узла Function находится на странице «написание функций».

Change#

Узел Change можно использовать для изменения свойств сообщения и свойств контекста без обращения к узлу Function.

В каждом узле можно настроить несколько операций, которые выполняются по порядку. Доступные операции:

  • Установить - устанавливает свойство. Значение может быть различных типов или может быть взято из существующего свойства сообщения или контекста
  • Изменить - ищет и заменяет часть текста в свойстве сообщения
  • Переместить - перемещает или переименовывает свойство
  • Удалить - удаляет свойство

При установке свойства значение также может быть результатом JSONata-выражения. JSONata - это декларативный язык запросов и преобразования JSON-данных.

Switch#

Узел Switch позволяет направлять сообщения по разным ветвям потока, исходя из соответствия сообщения тем или иным правилам.

Есть четыре типа правил:

  • Правила категории value rules сравнивают значение указанного свойства сообщения
  • Правила категории sequence rules могут применяться для последовательностей сообщений, таких как сгенерированные узлом Split
  • Выражение JSONata исполняется для сообщения и считается подходящим, если оно возвращает истинное значение
  • Правило иначе используется для сообщений, не подходящих ни под одно из предыдущих правил

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

Template#

Узел Template можно использовать для генерации текста с использованием значений свойств сообщения при заполнении шаблона.

Для генерации текста используется язык шаблонов Mustache.

Например, в шаблоне:

Значение свойства payload: {{payload}} !

Узел заменит {{payload}} на значение, которое содержит свойство payload сообщения.

По умолчанию, Mustache заменяет определенные символы их escape-кодами для безопасного использования в HTML. Чтобы это не происходило, вы можете использовать тройные фигурные скобки: {{{payload}}}.

Mustache поддерживает простые циклы для работы с массивами. Например, если msg.payload содержит массив имен: ["Коля", "Маша", "Ваня"], тогда для шаблона:

Список участников:
{{#payload}}
- {{{.}}}
{{/payload}}

будет создан такой текст:

Список участников:
- Коля
- Маша
- Ваня

После завершения исполнения узел присваивает сгенерированный текст выбранному свойству сообщения или контекста.