Enrichment节点用于更新传入消息的元数据。

Customer attributes

Since TB Version 2.0

Enrichment节点 - 图1
节点查找发出消息的实体归属的客户,并将客户属性或最新遥测值添加到消息元数据中。
管理员可以配置原始属性名称和元数据属性名称之间的映射。
节点配置中有Latest Telemetry复选框。如果选中此复选框,节点将获取配置密钥的最新遥测。否则,节点将获取服务器范围属性。
Enrichment节点 - 图2
出站消息元数据将包含配置的属性 (如果存在)。要访问其他节点中的获取属性,您可以使用此模板‘metadata.temperature
允许以下消息发起人类型: Customer, User, Asset, Device.
如果找到不受支持的发起人类型,将抛出错误。
如果发起人没有分配客户实体 Failure 链被使用,否则 Success 链。
您可以在下一个教程中看到使用此节点的现实生活示例:

Enrichment节点 - 图3
节点使用配置的查询来查找发出消息的实体的相关设备,并将属性 (client\shared\server) 和最新遥测值添加到消息元数据中。
属性被添加到带有范围前缀的元数据中:

  • shared属性 -> shared_
  • client属性 -> cs_
  • server属性 -> ss_
  • telemetry -> 无前缀

例如,
共享属性 “version” 将被添加到名为 “sharedversion” 的元数据中。
客户端属性将使用 “cs
” 前缀。服务器属性使用 “ss_” 前缀。
最新的遥测值按原样添加到消息元数据中,没有前缀。
在 “Device relations query” 配置中,管理员可以选择所需的方向关系深度级别。还可以使用所需的Device types配置Relation type
Enrichment节点 - 图4
如果发现多个相关实体,则只使用第一个实体进行属性充实,其他实体将被丢弃。
如果没有找到相关实体,则使用 Failure 链,否则- Success 链。
如果找不到属性或遥测,它不会被添加到消息元数据中,并且仍然通过 Success 链进行路由。
出站消息元数据仅在配置的属性存在时才包含这些属性。
要访问其他节点中的获取属性,您可以使用此模板 ‘metadata.temperature
注意: 从 TB 的2.3.1版本开始,如果出站消息中不存在至少一个选定的键,规则节点能够启用/禁用报告Failure
Enrichment节点 - 图5

Originator attributes

Since TB Version 2.0

Enrichment节点 - 图6
在消息元数据中添加消息发起者属性(client\shared\server)和最新的遥测值。
元数据中的属性前缀

  • shared属性 -> shared_
  • client属性 -> cs_
  • server属性 -> ss_
  • telemetry -> 无前缀

例如shared属性版本将以名称”sharedversion”添加到元数据中。
client属性使用”cs
“前缀。
server属性使用”ss_“前缀。
最新遥测数据不带前缀添加到消息元数据中。
Enrichment节点 - 图7
出站消息元数据将包含配置的属性 (如果存在)。
要访问其他节点中的获取属性,您可以使用此模板‘metadata.cs_temperature
注意: 由于 TB 版本 2.3.1,如果出站消息中不存在至少一个选定的密钥,规则节点能够启用/禁用报告Failure
Enrichment节点 - 图8
在下一面教程中你可以看到使用该节点的真实示例:

Enrichment节点 - 图9
此节点获取消息发起者实体的字段值并将其添加到消息元数据中。
管理员可以配置字段名称和元数据属性名称之间的映射关系。
如果指定的字段不是消息发起者实体字段的一部分它将被忽略。
Enrichment节点 - 图10
允许以下消息发起者类型: Tenant, Customer, User, Asset, Device, Alarm, Rule Chain
如果发现不支持的发起者类型则使用Failure链否则使用Success链。
如果没有找到字段值则不会将其添加到消息元数据中而是通过成功链进行路由。
出站消息元数据将只包含已配置的属性。
可以通过’metadata.devType‘模板获取其它节点属性。

Related attributes

Since TB Version 2.0

Enrichment节点 - 图11
节点查找消息发起者实体的相关实体并将属性或最新遥测数据添加到消息元数据中。
管理员可以配置原始属性名称和元数据属性名称之间的映射关系。
在”Relations query”配置中管理员可以选择所需的Directionrelation depth level
还可以使用必需的关系类型和实体类型配置Relation filters
如果选中节点的Latest Telemetry配置复选框则节点将通过配置密钥获取最新遥测,否则将获取服务端作用域的相关属性。
Enrichment节点 - 图12
如果找到多个相关实体只使用第一个实体Enrichment属性的其他实体则被丢弃。
如果未找到相关实体则使用Failure链否则使用Success链。
出站邮件元数据将包含已配置的属性
可以通过’>metadata.tempo‘模板获取其它节点属性。
在下一面教程中你可以看到使用该节点的真实示例:

Enrichment节点 - 图13
此节点查找消息发起者实体的租户并将租户属性或最新遥测值添加到消息元数据中。
管理员可以配置原始属性名称和元数据属性名称之间的映射关系。
选中Latest Telemetry复选框则节点将获取已配置密钥的最新遥测否则使用Node将获取服务器作用域属性.
Enrichment节点 - 图14
出站消息元数据将包含已配置的属性。
可以通过’>metadata.tempo‘模板获取其它节点属性。
允许以下消息发起者类型: Tenant,Customer,User,Asset,Device,Alarm,Rule Chain
如果找到了不支持的原始发起者类型则会引发错误。
如果发起者尚未分配租户实体则使用Failure链否则Success链。

Originator telemetry

Since TB Version 2.1.1

Enrichment节点 - 图15
将节点配置中选择的特定时间范围内消息发起者遥测值添加到消息元数据中。
Enrichment节点 - 图16
添加到消息元数据中没有前缀的遥测值。
规则节点有三种获取模式:

  • FIRST: 从最接近时间范围开始的数据库中检索遥测
  • LAST: 从最接近时间范围结束的数据库中检索遥测
  • ALL: 从数据库中检索所有遥测,该数据库在指定的时间范围内。

Enrichment节点 - 图17
如果选择了 FIRSTLAST 提取模式,输出消息元数据将包含 JSON 元素 (键/值)。否则,如果选择的提取模式全部,遥测将作为数组提取。

Note:规则节点可以将一个限制大小的记录提取到数组中: 1000 条记录,这个数组会包含带有时间戳和值的 JSON 对象。

Note:区间的结束时间总是小于区间的开始时间
如果勾选复选框: Use metadata interval patterns,规则节点将使用元数据中的 Start Interval 和 End Interval 模式。
各个模式都以毫秒为单位,值为距离 UNIX 时间 (1970年1月1日 00:00:00 UTC)的差值
Enrichment节点 - 图18

  • 如果消息元数据中没有任何模式,则出站消息会走 failure 链路由。
  • 此外,任何模式如果是无效的数据类型,则出站消息也会走 failure 链路由。

出站消息元数据将包含已配置的遥测字段(如果它们存在并且属于所选范围)。
如果没有找到属性或遥测,则不将其添加到消息元数据中,仍然走 Success 链路由。
要访问其他节点中的获取遥测,您可以使用以下模板: JSON.parse(metadata.temperature)
注意:自从TB 2.3版本以来,规则节点在选择获取模式: ALL 时能够选择遥测采样顺序。
Enrichment节点 - 图19
在下面的教程中,您可以看到使用此节点的实际示例

Enrichment节点 - 图20
规则节点可以将租户详细信息中的字段添加到消息正文或元数据中。
节点配置选项中有一个 Add selected details to the message metadata 复选框。如果选中此复选框,现有字段将被添加到消息元数据中,而不是消息数据中。
Enrichment节点 - 图21
所选的详细信息将添加到带有前缀: tenant_ 的元数据中。出站消息将包含配置的详细信息(如果存在)。
要访问其他节点中获取的详细信息,您可以使用以下模板之一:

  • metadata.tenant_address
  • msg.tenant_address

如果发起人没有分配租户实体,则使用 Failure 链,否则走 Success 链。

Customer details

Since TB Version 2.3.1

Enrichment节点 - 图22
规则节点可以将客户详情中的字段添加到消息正文或元数据中。
节点配置选项中有一个 Add selected details to the message metadata 复选框。如果选中此复选框,现有字段将被添加到消息元数据中,而不是消息数据中。
Enrichment节点 - 图23
选定的详细信息添加到前缀为: customer_ 的元数据中。出站消息将包含配置的详细信息 (如果存在)。
要访问其他节点中获取的详细信息,您可以使用以下模板之一:

  • metadata.customer_email
  • msg.customer_email

允许使用以下消息发起者类型:资产设备实体视图
如果发现不支持的发起者类型,则抛出错误。
如果发起者没有指定客户实体使用 Failure链,则使用 Success