属性集节点用于更新入站消息的元数据。

客户端属性

image.png
此节点查找消息发起者实体的客户并将客户属性或最新遥测数据添加到消息元数据中。
管理员可以配置原始属性名称和元数据属性名称之间的映射关系。
如果选中节点的Latest Telemetry配置复选框则节点将通过配置密钥获取最新遥测,否则将获取服务端作用域的相关属性。
属性集 - 图2
出站消息元数据将包含已配置的属性。
可以通过’metadata.temperature‘模板获取其它节点属性。
允许以下消息发起者类型: Customer,User,Asset,Device
如果找到不支持的原始发起者类型则会引发错误。
如果没有对发起者分配客户实体则使用Failure链否则使用Success链。
[

](http://www.ithingsboard.com/docs/user-guide/rule-engine-2-0/tutorials/send-email/)

相关设备属性

image.png
此节点查找消息发起者实体的相关设备并将属性(client\shared\server)和最新的遥测值添加到消息元数据中。
元数据中的属性前缀

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

例如shared属性版本将以名称”sharedversion”添加到元数据中。
client属性使用”cs
“前缀。
server属性使用”ss_“前缀。
最新遥测数据不带前缀添加到消息元数据中。
在”Device relations query”配置中管理员可以选择所需的Directionrelation depth level;还可以使用所需的Device types配置Relation type
属性集 - 图4
如果找到多个相关实体则仅第一个实体用于属性Enrichment节点其他实体将被丢弃。
如果未找到相关实体则使用Failure链否则是Success链。
如果找不到属性或遥测则不会将其添加到消息元数据中并且仍会通过Success链进行路由。
出站消息元数据将仅包含配置的属性。
可以通过’metadata.temperature‘模板获取其它节点属性。
注意: 从TB版本2.3.1开始如果出站消息中至少一个选定的密钥,则规则节点可以启用/禁用报告Failure
属性集 - 图5

发起者属性

image.png
在消息元数据中添加消息发起者属性(client\shared\server)和最新的遥测值。
元数据中的属性前缀

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

例如shared属性版本将以名称”sharedversion”添加到元数据中。
client属性使用”cs
“前缀。
server属性使用”ss_“前缀。
最新遥测数据不带前缀添加到消息元数据中。
属性集 - 图7
出站消息元数据将仅包含配置的属性。
可以通过’>metadata.cs_temperature‘模板获取其它节点属性。
Note: 从TB版本2.3.1开始如果出站消息中至少一个选定的密钥则规则节点可以启用/禁用报告Failure
属性集 - 图8

发起者字段

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

相关属性

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

](http://www.ithingsboard.com/docs/user-guide/rule-engine-2-0/tutorials/rpc-reply-tutorial/#%E6%B7%BB%E5%8A%A0transform-script%E8%8A%82%E7%82%B9)

租户属性

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

发起者遥测

image.png

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

  • FIRST: 从数据库中检索最接近时间范围开始的遥测
  • LAST: 从最接近时间范围末尾的数据库中检索遥测
  • ALL: 在指定时间范围内从数据库检索所有遥测.

属性集 - 图17
如果选择获取模式FIRSTLAST则出站消息元数据将包含JSON元素(key/value)否则选定的获取模式ALL则遥测将作为数组获取。

注意:
规则节点可以将记录的限制大小提取到数组中:1000个记录

该数组将包含带有时间戳和值的JSON对象。

注意:
间隔的结尾必须始终小于间隔的开头

如果选中Use metadata interval patterns复选框则规则节点将使用元数据中的Start Interval和End Interval模式。
自UNIX时代(January 1, 1970 00:00:00 UTC)以来,模式单位以毫秒为单位设置。
属性集 - 图18

  • 如果消息元数据中不存在任何模式则出站消息将通过failure链进行路由。
  • 如果任何模式的数据类型无效则出站消息还将通过failure链进行路由。

出站消息元数据将包含已配置的遥测字段(如果存在且属于所选范围)。
如果找不到属性或遥测则不会将其添加到消息元数据中并且仍会通过Success链进行路由。
可以通过’JSON.parse(metadata.temperature)‘模板获取其它节点遥测。
注意: 从TB 2.3版开始当选择Fetch mode: ALL时规则节点可以选择遥测采样顺序。
属性集 - 图19

租户详细信息

image.png

此节点将字段从租户详细信息添加到消息正文或元数据
选中Add selected details to the message metadata复选框则现有字段将添加到消息元数据中而不是消息数据中。
属性集 - 图21
选定的详细信息将添加到带有前缀:tenant_元数据中。
出站消息将包含已配置的详细信息。
可以通过以下模板获取其他节点的详细信息:

  • metadata.tenant_address
  • msg.tenant_address

如果发起者尚未分配租户实体则使用Failure链否则Success链。

客户详细信息

image.png
规则节点将客户详细信息中的字段添加到消息正文或元数据。
选中Add selected details to the message metadata复选框则现有字段将添加到消息元数据中而不是消息数据中。
属性集 - 图23
选定的详细信息将添加到带有前缀:customer_元数据中。
出站邮件将包含已配置的详细信息(如果存在)。
可以通过以下模板获取其他节点的详细信息:

  • metadata.customer_email
  • msg.customer_email

允许以下消息发起者类型: Asset,Device,Entity View
如果找到了不支持的原始发件人类型则会引发错误。
如果未分配发起者客户实体Failure链则使用Success链。