- 打印
用途
SQL 和 HTTP 连接器函数以对象或数组的形式向应用程序发送 "输出"。了解如何在应用程序中操作这些对象。
在本文中,您将学习...... *如何在应用程序中使用连接器函数的 "输出"。
如何在应用程序中使用连接器函数的输出
数组和对象是许多编程语言中常用的两种数据结构。Tulip 在连接器函数中使用了这两种数据结构:
- 当 SQL 连接器函数输出多行时,输出会以数组对象的形式发送到应用程序。
- 当 HTTP 连接器函数返回一个包含数组的输出时,该数组将以包含对象的数组形式出现在应用程序中。
- 当 SQL 连接器函数输出单行或 HTTP 连接器函数有任何输出时,这些值将作为键/值对存储在一个对象中。
只有在连接器函数成功完成后,才能自动创建对象。
本指南将向你展示如何自动组织连接器函数输出。然后,您将看到如何在应用程序中使用这些输出。
从连接器收集输出
想象一下,你想根据某个操作员的郁金香徽章 ID,从 SQL 数据库中提取有关该操作员的所有数据。
为此,您需要编写一个 SQL 连接器函数,将badge_id作为输入,并在输出中保存操作员的所有信息。在本例中,输出名为group_name。这就是它的外观:
此函数有一个输出,即以字符串形式存储的group_name。这是基于输出部分中的 "文本 "标签。
事实上,在创建 Connector 函数时,没有将输出存储为数组或对象的选项。下面是 "输出 "部分允许的数据类型。
因此,必须将其存储为 "文本",然后在触发器编辑器中进行操作。
在触发器编辑器中运行此函数,将输出存储为对象。
- "运行连接器函数 "连接器:"SBD - 测试""操作员导航
- 徽标 ID:"静态值""文本""2222",并将结果保存为"变量" "test_var"
本例中,输入值为 2222,输出结果存储在名为 "test_var "的变量中。
在应用程序中使用对象
在上面的示例中,我们获取了名为group_name的输出,然后将其保存在名为test_var 的变量中。应用程序变量视图显示,这个变量实际上是一个对象,它有一个名为 "group_name "的属性。
事实上,如果连接器函数有多个输出,那么每个输出都将存储为触发器中创建的名为 "test_var "的对象的一个新属性。这样,您就可以在一个地方组织一次函数调用的所有输出。
您可以在应用程序中添加一些变量文本,然后从上下文窗格的 "部件 "选项卡中选择变量,从而测试函数的输出。
在本例中,我们有一个名为 "订单详细信息 "的变量,它存储了一个包含 5 个字段的对象:
- 订单位置
- 数量
- 地址1
- 地址2
- 地址3
从 "变量 "搜索框中选择对象后,您将看到应用程序中弹出全部 5 个字段,并根据属性名称添加标签。您可能需要展开变量文本字段才能同时看到所有字段。
显示对象
如果对象有多个属性,您可能希望在应用程序的一个步骤中同时显示所有属性。这比为每个属性创建新的变量文本要简单得多。
要重新排序/删除对象中的单个属性,请单击上下文窗格中属性上的 x 或网格符号。
要更改列数,请使用上下文窗格中的列选项。
要更改标签和数值的显示方式,请调整上下文窗格中的颜色和字体大小。
要查看操作员如何显示这些数据,请在播放器中运行应用程序,然后就能看到整个对象。如果首先运行收集数值的连接器函数,则会包含数值。
操作对象
在应用程序中使用对象数组可能会限制您提取目标数据点的选择。您可以操作从连接器函数中输出的对象数组,以便更轻松地访问您希望在逻辑等中使用的数据。这可以通过指定要提取的对象中的键来实现。这将有助于简化数据输出,从而更好地利用您感兴趣的数据。
下面是一个连接器函数示例:
上面的输出是一个对象数组。当连接器函数返回一个对象数组时,表达式编辑器中的一些操作有助于对其进行操作。这些映射函数允许你根据给定的键映射相应的值。输出的值可以映射到所选类型的数组中。您可以使用 MAP_TO_TEXT_LIST()来获取包含所有标题的文本数组。
- "运行连接器功能 "连接器:"测试" "测试功能",并将结果保存为"test_output
- "数据处理" "存储 "数据:"表达式""MAP_TO_TEXT_LIST(Variable.test_out.Test Parent, 'Test Child')
传入 map 函数的第一个参数是对象数组。第二个参数 "Test Child "是连接器函数输出中列出的提取器名称。提取器名称用作提取值的键。这将以字符串数组的形式输出所有标题。
查看应用程序中的所有对象变量
要在应用程序中操作数据结构,必须将其存储为变量。进入应用程序编辑器的上下文窗格,并选择应用程序选项卡中 "变量 "旁边的西格玛符号,即可查看现有变量。
对象将以通用对象符号"{}"显示。
从 HTTP 连接器显示多行 SQL 或数组
如果想在应用程序中将多行 SQL 输出或来自 HTTP 连接器的数组转化为交互式列表,请查看本单独指南
更多阅读
找到您想要的内容了吗?
您还可以前往community.tulip.co发布您的问题,或查看其他人是否遇到过类似问题!