Перейти к содержимому

3. Выражения (Expressions) и узел Set

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

Упражнения

  1. Первый узел — место действия. Создайте узел Set и в нем установите единственное текстовое поле Место действия, со значением Англия. Назовите узел Place.
  2. Создайте узел Code с данными. В нашем случае это будет последний узел из предыдущего занятия про Function. Код можно скопировать, открыв страницу этого пункта в Notion.
  3. Добавим картинку. Подключите узел HTTP Request, которая будет получать картинку с героями по адресу https://avatars.mds.yandex.net/get-kinopoisk-image/1946459/a357af43-4d60-4f2a-8cf8-9598a9725582/1920x. Узел автоматически распознает файловый формат (вы можете изменить через Add option -> Response -> Response Format). Запустите узел, чтобы получить данные. Узел будет активирован столько же раз, сколько данных прошло через него. То есть каждый герой получит свою фотографию.
  4. Главный узел. Подключите узел Set и сразу скажите ему оставлять только его данные, активировав Keep Only Set. Сейчас мы будем создавать свойства, текстовые String и числовые Number. Подробности можно увидеть, раскрыв страницу в Notion.
  5. Входящее свойство. В этом свойстве под названием Имя мы просто отражаем имя героев. Перетащите в него свойство Полное имя.
  6. Входящее свойство большей вложенности. Здесь нам надо провалиться на уровень глубже, в свойство Жилье и перетащить свойство Домашний адрес во вновь созданное свойство Адрес.
  7. Выражение с добавкой снаружи {{ }}. В этом упражнении мы к выражению допишем еще одно выражение, а также добавим еще немного статичного текста. Создайте текстовое свойство Краткое представление. Затем перетащите в него Имя, и добавьте в него запятую с пробелом. Потом перетащите Возраст, после чего добавьте “, британец”.
  8. Выражение с добавкой внутри {{ }}. Здесь мы залезем под фигурные скобки и совершим математическую операцию в выражении. Заведите числовое свойство Возраст 5 лет назад, перетащите в него Возраст, и внутри скобок вычтите 5.
  9. Достать данные из массива, который является значением свойства. У каждого героя есть список друзей. Давайте достанем первого из списка и поместим в свойство Первый друг из списка. Для этого можно просто перетащить первый элемент массива друзей. Или перетащите свойство Друзья и добавьте индекс в квадратных скобках: [0] — это будет первый друг.
  10. Перечислить массив через запятую. А теперь в поле Все друзья через запятую давайте перечислим их. Для этого лучше пройти в окно редактирования изображения, щелкнуть по кругу возле свойства Друзья и выбрать Values.
  11. Узнать количество элементов. А сколько у нас вообще данных поступило? Эту величину мы запишем в поле Количество записей в потоке данных. Как мы помним, массив всех записей у нас хранится в свойстве all() переменной $input. Осталось посчитать длину этого массива.
  12. Узнать позицию текущего элемента. Теперь мы хотим узнать, каким по счету является элемент. Делается это с помощью переменной $position. Не забываем, что нумерация в массивах начинается с 0 (но можно и с 1, потому что прибавлять числа в выражении вы уже умеете). Отразите это число в свойстве Позиция в потоке данных.
  13. Узнать название файла. Также в потоке данных у нас присутствует фотография — в виде бинарных данных. Давайте поместим её название в свойство Название файла. Для этого нам надо извлечь имя файла, поставить точку и добавить расширение файл. Вся эта информация есть в разделе Binary, надо раскрыть редактор выражений.
  14. Извлечь данные из конкретного узла. Выше мы в основном работали с данными, входящими в текущий узел Set. Очень часто приходится обращаться в более ранние узлы по цепочке, тогда их надо искать через список Input. Создайте и заполните свойство Место действия с помощью узла Place.
  15. Запустите процесс и посмотрите на результат.

Отметьте все решенные задачи на странице шаблона упражнений Выражения (Expressions) и узел Set.

Следующий урок → Объединяем данные с узлом Merge
Предыдущий урок → Самый гибкий узел — Function
К курсу → Автоматизация с n8n: теория и практика
Мои курсы выходят в открытый доступ!