产品定价 立即试用
社区版
aggregate latest(聚合最新)
入门 文档 指南 安装 架构 API 常见问题

aggregate latest(聚合最新)

Since TB Version 2.1

image

按周期对指定父实体集的子实体attributes或最新时序进行聚合。

以可配置周期,对从子实体获取的attributes或最新时序执行聚合。

聚合结果写入父实体的指定目标时序属性。

为每个父实体及其聚合属性生成类型为 POST_TELEMETRY_REQUEST 的消息。

配置:

image

  • Execution period value/time unit — 指定聚合任务周期。
  • Entities — 指定执行聚合的父实体集。可选:
    • Single entity — 单个实体
    • Group of entities — 指定实体组
    • Relations query — 从 Root entity 起通过 Relations query 查到的实体集
  • Child entities — 指定从父实体查找子实体的 Relations query。仅当父实体选择 Single entityRelations query 时需配置。 若选择 Group of entities,子实体从实体组本身选择。
  • Aggregate latest mappings — 映射配置表,指定子属性聚合规则。

映射配置:

image

  • Latest telemetry — 指定聚合的是子实体最新telemetry还是attribute。
  • Source telemetry/attribute — 子实体最新telemetry或attribute的key名。
  • Attribute scope — 当使用attribute作为源(未勾选 Latest telemetry)时,指定子属性作用域。
  • Default value — 当子实体未定义或缺少源属性时使用的默认数值。
  • Aggregation function — 用于子值聚合的数学函数。可选:
    • Minimum — 取所有子实体中的最小attribute值
    • Maximum — 取所有子实体中的最大attribute值
    • Sum — 求子实体attribute值总和
    • Average — 求子实体attribute值的平均值
    • Count — 统计子实体数量。此时 Source telemetry/attribute 不使用,可为空
    • Count unique — 统计子实体attribute值的去重数量
  • Target telemetry — 父实体用于存储聚合结果的目标telemetry key名。
  • Filter entities — 是否在聚合attribute值前过滤子实体。
  • Entity filter — 用于过滤子实体的筛选器。包含两部分:
    1. 需获取并在JavaScript过滤函数中使用的实体attribute/最新时序key列表
    2. JavaScript过滤函数,应返回boolean结果。以包含已获取attributes/最新时序值的 attributes 映射为入参。 获取的attribute值以带scope前缀的key加入 attributes 映射:
      • shared attribute -> shared_
      • client attribute -> cs_
      • server attribute -> ss_
      • telemetry -> 无前缀

对每个父实体,节点会生成新消息(类型 POST_TELEMETRY_REQUEST,originator为父实体,json body含目标telemetry及聚合值)并通过 Success 链转发。 若某子属性聚合失败,节点会生成失败消息(含失败原因,originator为父实体)并通过 Failure 链转发。

Since TB Version 3.3.3 可选择队列名:

image