- Распечатать
Как использовать выходы из функций коннекторов в приложениях
Назначение
Функции коннекторов SQL и HTTP передают "выходные данные" в приложения в виде объектов или массивов. Узнайте, как манипулировать объектами в приложениях.
В этой статье вы узнаете...
* Как использовать "выходные данные" функции коннектора в приложении
Как использовать выходы из функций коннектора в приложениях
Массивы и объекты - это две популярные структуры данных, которые используются во многих языках программирования. Tulip использует обе эти структуры данных в функциях коннектора:
- Когда функция коннектора SQL выводит несколько строк, вывод отправляется в приложение как массив, полный объектов.
- Когда функция HTTP-коннектора возвращает вывод с массивом, этот массив появляется в приложении как массив, полный объектов.
- Когда функция коннектора SQL выводит одну строку или функция коннектора HTTP имеет любой вывод, значения хранятся в объекте как пары ключ/значение.
Объекты могут быть созданы автоматически только после успешного завершения функции коннектора.
В этом руководстве вы узнаете, как автоматически организуются выходные данные функции коннектора. Затем вы увидите, как использовать эти результаты в приложениях.
Сбор выходных данных из коннекторов
Представьте, что вы хотите получить все данные о конкретном операторе из базы данных SQL на основе его идентификатора бейджа Tulip.
Для этого вы напишете функцию SQL-коннектора, которая примет badge_id в качестве входных данных и сохранит всю информацию об операторе в выходной файл. В данном случае выход называется имя_группы. Вот как это будет выглядеть:
Эта функция имеет один выход, имя_группы, который хранится в виде строки. Это основано на метке "Text" в разделе Outputs.
На самом деле, когда вы создаете функцию Connector, нет возможности хранить выходные данные в виде массива или объекта. Вот допустимые типы данных из раздела "Выводы".
{height="" width="350"}.
Поэтому вы должны сохранить его как "Текст", а затем манипулировать им в редакторе триггеров.
Запустите эту функцию в редакторе триггеров, чтобы сохранить вывод в объекте.
- "Запустить функцию коннектора" коннектор: "SBD - Тест" "Навигация оператора"
- идентификатор значка: "Статическое значение" "text" "2222" и сохраните результат как: "Переменная" "test_var"
В этом случае вы используете значение 2222 в качестве входного, а результат сохраняете в переменной "test_var".
Использование объектов в приложении
В приведенном выше примере мы взяли выходное значение под названием group_name, а затем сохранили его в переменной test_var. В представлении App Variables показано, что эта переменная на самом деле является объектом с одним свойством под названием "group_name".
На самом деле, если функция коннектора имеет несколько выходов, каждый из них будет сохранен как новое свойство объекта под названием "test_var", который был создан в триггере. Это позволяет вам организовать все выходы одного вызова функции в одном месте.
Вы можете протестировать выходы функции, добавив в приложение текст Variable и выбрав переменную на вкладке Widget контекстной панели.
В данном случае у нас есть переменная под названием "Order Details", которая хранит объект с 5 полями:
- orderPlaced
- количество
- адрес1
- адрес2
- адрес3
Как только вы выберете объект в окне поиска переменных, вы увидите, как все 5 полей заполнятся в вашем приложении метками, основанными на названиях свойств. Вам может понадобиться развернуть текстовое поле переменной, чтобы увидеть их все сразу.
Отображение объектов
Если ваш объект имеет несколько свойств, вы можете захотеть отобразить их все сразу на одном шаге вашего приложения. Это проще, чем создавать новый переменный текст для каждого отдельного свойства.
Чтобы изменить порядок/удалить отдельные свойства объекта, нажмите на символ x или сетки на свойстве в контекстной панели.
Чтобы изменить количество столбцов, используйте опцию Столбцы в контекстной панели.
Чтобы изменить отображение меток и значений, настройте цвет и размер шрифта в контекстной панели.
Чтобы увидеть, как эти данные будут показаны оператору, запустите приложение в проигрывателе, и вы сможете увидеть весь объект. Значения будут включены, если вы сначала запустите функцию-коннектор, которая собирает значения.
Манипулирование объектами
Использование массива объектов в вашем приложении может ограничить ваши возможности по извлечению точек данных, на которые вы пытаетесь нацелиться. Вы можете манипулировать массивом объектов, выводимым функцией коннектора, чтобы облегчить доступ к данным, которые вы хотите использовать в своей логике. Это можно сделать, указав ключ(и) в объекте, который вы хотите извлечь. Это поможет упорядочить вывод данных, что позволит вам лучше использовать интересующие вас данные.
Пример функции коннектора показан ниже:
Вышеприведенный результат представляет собой массив объектов. Когда функции соединителя возвращают массив объектов, в редакторе выражений есть действия, которые помогают манипулировать ими. Эти функции map позволяют сопоставить соответствующие значения на основе заданного ключа. Выведенные значения могут быть сопоставлены с массивом выбранного типа. Вы можете использовать функцию MAP_TO_TEXT_LIST(), чтобы получить текстовый массив всех названий.
- "Запустить функцию коннектора" коннектора: "Test" "Test Function" и сохраните результат как: "test_output"
- "Манипуляция данными" "Хранить" данные: "Выражение" "MAP_TO_TEXT_LIST(Variable.test_out.Test Parent, 'Test Child')".
Первым параметром, передаваемым в функцию map, является массив объектов. Второй параметр, 'Test Child', - это имя экстрактора, указанное в выводе функции connector. Имя экстрактора используется в качестве ключа для извлечения значений. В результате все названия будут выведены в массив строк.
Просмотр всех объектных переменных в приложении
Для того чтобы манипулировать структурой данных в приложении, она должна быть сохранена в виде переменной. Вы можете просмотреть существующие переменные, войдя в контекстную панель редактора приложений и выбрав символ сигмы рядом с "Переменные" на вкладке App.
Объекты будут показаны с помощью универсального символа объекта "{}".
Отображение нескольких строк SQL или массивов из HTTP-коннекторов
Если вы хотите превратить несколько строк вывода SQL или массивов из HTTP-коннекторов в интерактивные списки в приложении, ознакомьтесь с этим отдельным руководством.
Читать далее
- Как использовать массивы в приложениях
- Как вызвать функцию коннектора с помощью триггеров
- Руководство по редактору выражений в редакторе приложений
Вы нашли то, что искали?
Вы также можете зайти на community.tulip.co, чтобы задать свой вопрос или узнать, сталкивались ли другие с подобным вопросом!