enrichment.ts
8.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
export default {
title: '属性',
description: '向消息元数据中添加附加信息',
calculateDelta: {
name: '计算增量',
details:
'该节点可以在规则中获取上一次遥测的值,以此可以实现二次遥测的差。比如一个设备,一天上传一次数据,如果你要对比今天和昨天的数据,并将两者数据差保存到数据库,就能够使用该节点。增量计算是在消息发起者的范围内完成的,例如设备、资产或客户。如果有输入键,则输出关系将为“成功”,除非增量为负并且设置了相应的配置参数。如果传入消息中没有输入值键,则输出关系将为“其他”。',
description: '根据传入值和上一个值计算增量值并将其添加到消息中。',
fields: {
inputValueKey: '输入值键',
outputValueKey: '输出值键',
round: '小数',
useCache: '使用缓存获取最新值',
tellFailureIfDeltaIsNegative: '如果delta为负数,则告知Failure【失败】',
addPeriodBetweenMsgs: '在消息之间添加时间差值(单位:毫秒)',
periodValueKey: '期间值键',
},
},
customerAttributes: {
name: '客户属性',
details:
"如果已配置属性,则会将服务器范围属性添加到消息元数据中。如果配置了'最新遥测',则将最新遥测添加到元数据中。要访问其他节点中的这些属性,可以使用metadata.temperature访问。",
description: '将发起者客户属性或最新遥测添加到消息元数据中。',
fields: {
attrMapping: '属性映射',
telemetry: '最新遥测',
originalAttr: '原始属性',
targetAttr: '目标属性',
attrMappingDesc:
"” 备注: 使用 <b>${'{</b> metadataKey <b>}'}</b> 表示元数据中的值, <b>$[</b> messageKey <b>]</b> 表示消息正文中的值。用“Source”和“Target'键名代替。“",
},
},
customerDetails: {
name: '客户详情',
details:
'如果选中:【将选定的详细信息添加到消息元数据】,则现有字段将添加到消息元数据,而不是消息数据。注意:只允许设备、资产和实体视图类型;如果消息的原始发件人未分配给客户或者不支持原始发件人类型的消息将转发到失败链路,否则将使用成功链路。',
description: '将“客户详细信息”中的字段添加到消息正文或元数据中。',
fields: {
detailsList: '选择实体详细信息',
addToMetadata: '将选定的详细信息添加到消息元数据',
},
},
originatorAttributes: {
name: '发起者属性',
details:
'如果配置了单个/多个属性,客户端属性/共享属性/服务器属性将添加到具有特定前缀的消息元数据中:cs/SHARED/ss。添加到元数据中的最新遥测值,不带前缀。要访问其他节点中的这些属性,可以使用metadata.cs_temperature或metadata.shared_limit。',
description: '将消息发起者的属性或最新遥测添加到消息元数据中。',
fields: {
getLatestValueWithTsDesc:
'消息元数据中, 例如: "temp": "{\'{"ts":1574329385897, "value":42}\'}"',
tellFailureIfAbsent: '告知失败',
clientAttributeNames: '客户端属性',
sharedAttributeNames: '共享属性',
serverAttributeNames: '服务器属性',
latestTsKeyNames: '最新时序数据-标识符',
getLatestValueWithTs: '获取带有时间戳的最新遥测',
},
},
originatorFields: {
name: '发起者字段',
details: '将获取映射中指定的字段值。如果指定的字段不是原始发件人字段的一部分,它将被忽略。',
description: '将消息发起人字段值添加到消息元数据中。',
fields: {
fieldsMapping: '字段映射',
fieldsMappingHelp: '允许发起者类型: 租户、客户、用户、设备、告警、规则链',
entityField: '实体的字段',
targetAttr: '目标属性',
},
},
originatorTelemetry: {
name: '发起者遥测',
details:
'该节点允许您选择提取模式:FIRST/LAST/ALL 以提取添加到消息元数据中的特定时间范围的遥测数据,而不带任何前缀。如果选择提取模式,ALL遥测将像数组一样添加到消息元数据中,其中Key为时间戳,Value是遥测的值;如果选择提取模式FIRST或LAST遥测将像不带时间戳的字符串一样添加;此外,规则节点允许您选择遥测采样顺序:ASC或DESC;聚合功能允许您通过AVG、COUNT、SUM、MIN、MAX、NONE将聚合遥测作为单个值获取;注意:提取数据放入数组中最大记录为1000条。',
description: '将选定时间范围的消息发起人遥测添加到消息元数据中。',
fields: {
latestTsKeyNames: '时间序列键',
aggregation: '数据聚合功能',
fetchMode: '提取模式',
orderBy: '升序',
limit: '限制',
useMetadataIntervalPatterns: '使用间隔模式',
startInterval: '启动间隔',
startIntervalTimeUnit: '开始间隔时间单位',
endInterval: '结束间隔',
endIntervalTimeUnit: '结束间隔时间单位',
startIntervalPattern: '开始间隔模式',
endIntervalPattern: '结束间隔模式',
},
},
relatedAttributes: {
name: '关联属性',
details:
'使用配置的关系方向和关系类型找到相关实体;若找到多个相关实体,则只有第一个实体用于单个/多个属性,其他实体将被丢弃;如果配置了属性,则会将服务器范围属性添加到消息元数据中;如果配置了最新遥测,则将最新遥测添加到元数据中。要访问其他节点中的这些属性,可以使用metadata.temperature访问。',
description: '将发起人相关实体属性或最新遥测添加到消息元数据中。',
fields: {
relationsQuery: '关系查询',
attrMapping: '属性映射',
telemetry: '最新遥测',
},
},
relatedDeviceAttributes: {
name: '关联设备属性',
details:
'如果配置了单个/多个属性,CLIENT/SHARED/SERVER 属性将添加到具有特定前缀的消息元数据中:cs/SHARED/ss。添加到元数据中的最新遥测值,不带前缀。要访问其他节点中的这些属性,可以使用 metadata.cs_temperature或metadata.shared_limit。',
description: '关联设备属性将发起者关联设备属性和最新遥测值添加到消息元数据中。',
fields: {
deviceRelationsQuery: '设备关系查询',
tellFailureIfAbsent: '告知失败',
clientAttributeNames: '客户端属性',
sharedAttributeNames: '共享属性',
serverAttributeNames: '服务器属性',
latestTsKeyNames: '最新时间序列',
getLatestValueWithTs: '获取带有时间戳的最新遥测',
fetchLastLevelOnly: '仅获取最后一级关联',
direction: '方向',
maxLevel: '最大关系级别',
relationType: '关联类型',
deviceTypes: '设备类型',
},
},
tenantAttributes: {
name: '租户属性',
details:
'如果配置了单个/多个属性,则会将服务器范围属性添加到消息元数据中。如果配置了单个/多个“最新遥测”,则将最新遥测添加到元数据中。要访问其他节点中的这些属性,可以使用metadata.temperature。',
description: '将发起者租户属性或最新遥测添加到消息元数据中。',
fields: {
attrMapping: '属性映射',
telemetry: '最新遥测',
originalAttr: '原始属性',
targetAttr: '目标属性',
attrMappingDesc:
"” 备注: 使用 <b>${'{</b> metadataKey <b>}'}</b> 表示元数据中的值, <b>$[</b> messageKey <b>]</b> 表示消息正文中的值。用“Source”和“Target'键名代替。“",
},
},
tenantDetails: {
name: '租户详情',
details:
'如果选中:【将选定的详细信息添加到消息元数据】,则现有字段将添加到消息元数据而不是消息数据;注意:只允许设备、资产和实体视图类型;如果原始的消息发件人未分配给Tenant或者不支持原始发件人类型,消息将转发到失败链,否则将使用成功链路。',
description: '将租户详情中的字段添加到消息正文或元数据中。',
fields: {
detailsList: '将选定的详细信息添加到消息元数据',
addToMetadata: '选择实体详细信息',
},
},
originatorAttributesNameEnum: {
fields: {
tellFailureIfAbsent: '告知失败',
clientAttributeNames: '客户端属性',
sharedAttributeNames: '共享属性',
serverAttributeNames: '服务器属性',
latestTsKeyNames: '最新时序数据-标识符',
getLatestValueWithTs: '获取带有时间戳的最新遥测',
},
},
originator: {
fields: {
fieldsMapping: '字段映射',
},
},
};