偷空寫一篇關於TB規則鏈的用法簡介

thingsboard開源項目提供了一個專用的開源流處理服務,其官網命名爲“規則鏈”,如下圖

其功能應該說還是相當強大的,其中有各種傳輸協議的RPC調用及處理,還有地理圍欄功能,以及一些API的調用以及消息的發佈,在物聯網這個大環境下還是相當的實用的。

本篇我大概說一下一些簡單的用法,可能不太全面,需要用到其他功能的小夥伴們可以移至官網底下,其中有詳細的介紹:官網規則鏈 

在這之前,我們需要理解幾個東西:

  • 消息 - 任何傳入的事件。它可以是來自設備的傳入數據,設備生命週期事件,REST API事件,RPC請求等。
  • 規則節點 - 在傳入消息上執行的功能。有許多不同的Node類型可以對傳入的Message進行過濾,轉換或執行某些操作。
  • 規則鏈 - 節點通過關係相互連接,因此來自規則節點的出站消息被髮送到下一個連接的規則節點。

然後是一些需要注意的參數:

  • 消息ID:基於時間的通用唯一標識符;
  • 消息的發起者:設備,資產或其他實體標識符;
  • 消息類型:“發佈遙測”或“不活動事件”等;
  • 消息的有效載荷:具有實際消息有效載荷的JSON主體;
  • 元數據:包含有關消息的其他數據的鍵值對列表。

消息類型包括以下幾種:

  • POST_ATTRIBUTES_REQUEST:發佈屬性
  • POST_TELEMETRY_REQUEST:發佈遙測
  • TO_SERVER_RPC_REQUEST:來自設備的RPC請求
  • RPC_CALL_FROM_SERVER_TO_DEVICE:RPC請求到設備
  • ACTIVITY_EVENT:活動事件
  • INACTIVITY_EVENT:不活動事件
  • CONNECT_EVENT:連接事件
  • DISCONNECT_EVENT:斷開事件
  • ENTITY_CREATED:實體創建
  • ENTITY_UPDATED:實體更新
  • ENTITY_DELETED:實體刪除
  • ENTITY_ASSIGNED:實體已分配
  • ENTITY_UNASSIGNED:實體未分配
  • ADDED_TO_ENTITY_GROUP:添加到組
  • REMOVED_FROM_ENTITY_GROUP:已從組中刪除
  • ATTRIBUTES_UPDATED:屬性已更新
  • ATTRIBUTES_DELETED:屬性已刪除
  • ALARM:告警事件
  • REST_API_REQUEST:REST API請求到規則引擎

然後我們先將每個節點的功能說一下

過濾器

首先我們講一下過濾器,顧名思義,就是過濾消息或者用作判斷的節點

TB提供了上圖中的這些過濾器,其中我們比較常用的就是腳本了

我們只需要在其中將傳入數據的一些鍵上的值進行判斷,就可以將不符合條件的數據過濾掉,從而將正確的數據引入下一個節點進行處理。

下面是我自己漢化的一些解釋,大家可以參考一下:

屬性集

屬性集主要針對的是實體的屬性配置

變換

變換主要說的是轉化消息體中的數據爲其他類型

動作

動作模塊的節點全部都是用以處理數據的,比如數據的保存、關係的刪除、消息的生成等等

這塊由於截圖量比較大,所以就不截圖了,有需要的可以在我們的QQ羣裏聯繫我

外部數據處理

主要用以與外部系統的通信

剩下還有個節點叫做“規則鏈”的,這個主要用於與創建的其他規則鏈的關聯

 

 

QQ羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章