Lookup Mapping¶
Lookup Mapping 节点根据映射文件,查找映射关系,并将指定的映射数据输出到输出 msg。
若需聚合多个映射数据结果,CSV 文件中必须添加 dataType
列头。如果映射成功,输入 msg 中的数据将根据 CSV 中指定的 dataType
输出到输出 msg 中。
备注
该节点只做映射关系的查询,后续的标准设备测点的结构,需要其他节点来做封装。
节点类型¶
IoT Hub。
输入和输出能力¶
该节点具有 1 个入口点和 1 个出口点。输入和输出都是 JSON 格式。
节点属性¶
名称
该节点的名称。
映射文件
上传 CSV 映射文件。你可以点击 下载模板 图标 下载模板使用、点击 上传 图标 上传文件、或者点击 下载 图标 下载已上传的文件。
映射结果
基于映射文件,下拉选择 CSV 文件中的字段名,作为映射之后的输出,可以多选。
若需聚合多个映射数据结果,CSV 文件里必须添加 dataType
列头。支持的 dataType
值如下。
number
:数字类型string
:文本类型array<number>
:数字组成的数组类型array<string>
:文本字符串组成的数组类型boolean
:布尔类型
映射 Key
基于映射文件,下拉选择 CSV 文件中的字段名,作为映射字段,可以多选。
映射 Value
默认情况下,如果映射成功,输入 msg 中的数据将根据 dataType
输出到输出 msg(参见 示例 1)。若需指定输出特定数据,可在这里使用表达式指定,例如 ${msg.value}(参见 示例 5)。未指定的数据不会出现在输出 msg 中。
描述
该节点的描述。
使用限制¶
映射文件最大支持 5 万条数据。
最大映射文件大小:2M
仅支持 CSV 文件。
映射 Value 只能指定一个值。
示例¶
下面的示例基于具有以下数据的 CSV 文件。
Key1 |
Key2 |
Key3 |
dataType |
---|---|---|---|
AI000001 |
1KaobBq4I |
AO-BOOL-ARRAY |
array<string> |
AI000001 |
2KaobBq4I |
AO-BOOL-STRING |
string |
AI000001 |
3KaobBq4I |
AO-BOOL-STRING2 |
string |
AI000001 |
4KaobBq4I |
AO-BOOL-ARRAY |
array<string> |
AI000002 |
1KaobBq4I |
AO-BOOL-ARRAY |
array<string> |
AI000002 |
6KaobBq4I |
AO-BOOL-STRING |
string |
AI000003 |
7KaobBq4I |
AO-BOOL-ARRAY |
array<string> |
AI000004 |
8KaobBq4I |
AO-BOOL-FLOAT |
number |
输入与输出示例¶
示例 1¶
映射结果: Key2, Key3
映射 Key: Key1
输入¶
[
{
"Key1": "AI000003", //Key1 是作为映射的 Key
"value": "88",
"color": "blue",
"type": "circle",
}
]
输出¶
[
{
"Key1": "AI000003",
"value": "88",
"color": "blue",
"type": "circle",
"Key2": "7KaobBq4I",
"Key3": "AO-BOOL-ARRAY"
}
]
示例 2¶
映射结果: Key3
映射 Key: Key1, Key2
输入¶
[
{
"Key1": "AI000004", //Key1 和 Key2 是作为映射的 Key
"Key2": "8KaobBq4I",
"value": "77"
}
]
输出¶
[
{
"Key1": "AI000004",
"Key2": "8KaobBq4I",
"value": "77",
"Key3": "AO-BOOL-FLOAT"
}
]
示例 3¶
映射结果: Key2, Key3
映射 Key: Key1
映射 Value: ${msg.value}
输入¶
[
{
"Key1": "AI000001",
"value": "5"
},
{
"Key1": "AI000002",
"value": "6"
}
]
输出¶
[
{
"Key2": "6KaobBq4I",
"Key1": "AI000002",
"value": "6",
"Key3": "AO-BOOL-STRING"
},
{
"Key2": "2KaobBq4I",
"Key1": "AI000001",
"value": "5",
"Key3": "AO-BOOL-STRING"
},
{
"Key2": "3KaobBq4I",
"Key1": "AI000001",
"value": "5",
"Key3": "AO-BOOL-STRING2"
},
{
"Key2": "4KaobBq4I",
"value": [
"5"
],
"Key3": "AO-BOOL-FLOAT"
},
{
"Key2": "1KaobBq4I",
"value": [
"6",
"5"
],
"Key3": "AO-BOOL-ARRAY"
}
]
示例 4¶
映射结果: Key2, Key3
映射 Key: Key1
输入¶
[
{
"Key1": "AI000001",
"value": "18"
}
]
输出¶
[
{
"Key2": "1KaobBq4I",
"Key1": "AI000001",
"value": "18",
"Key3": "AO-BOOL-ARRAY"
},
{
"Key2": "2KaobBq4I",
"Key1": "AI000001",
"value": "18",
"Key3": "AO-BOOL-STRING"
},
{
"Key2": "3KaobBq4I",
"Key1": "AI000001",
"value": "18",
"Key3": "AO-BOOL-STRING2"
},
{
"Key2": "4KaobBq4I",
"Key1": "AI000001",
"value": "18",
"Key3": "AO-BOOL-ARRAY"
}
]
示例 5¶
映射结果: Key2, Key3
映射 Key: Key1
映射 Value: ${msg.color}
输入¶
[
{
"Key1": "AI000003",
"value": "7",
"color": "blue",
"type": "circle"
}
]
输出¶
[
{
"Key2": "7KaobBq4I",
"color": [
"blue"
],
"Key3": "AO-BOOL-ARRAY"
}
]