配置源節(jié)點(diǎn)
創(chuàng)建數(shù)據(jù)解析任務(wù)后,您可在數(shù)據(jù)解析工作臺,配置數(shù)據(jù)解析任務(wù)的源節(jié)點(diǎn),以作為后續(xù)數(shù)據(jù)解析的數(shù)據(jù)源。本文介紹配置源節(jié)點(diǎn)的操作步驟。
前提條件
已創(chuàng)建數(shù)據(jù)解析任務(wù),具體操作,請參見創(chuàng)建數(shù)據(jù)解析任務(wù)。
背景信息
數(shù)據(jù)解析功能說明,請參見使用說明。
數(shù)據(jù)解析工作臺的使用說明,請參見數(shù)據(jù)解析工作臺說明。
操作步驟
在數(shù)據(jù)解析工作臺,單擊畫布中默認(rèn)存在的源節(jié)點(diǎn)。
在右側(cè)配置面板,根據(jù)要處理數(shù)據(jù)的數(shù)據(jù)源類型,配置基本信息。
IoT實(shí)例Topic:選擇該類型后,配置以下參數(shù),以處理設(shè)備通過自定義或物模型通信Topic上報(bào)的數(shù)據(jù)。
參數(shù)名稱
描述
相關(guān)文檔
所屬實(shí)例
下拉列表展示該阿里云賬號下所有實(shí)例。
所屬產(chǎn)品
下拉列表展示所選實(shí)例下所有產(chǎn)品名稱。
所屬設(shè)備
所選產(chǎn)品下設(shè)備,僅支持選擇全部設(shè)備。
Topic類型
可選:系統(tǒng)Topic、自定義Topic、物模型通信Topic。
詳細(xì)說明,請參見下文“Topic類型說明表”。
Topic名稱
該Topic的通信數(shù)據(jù)是解析任務(wù)的數(shù)據(jù)源。
云網(wǎng)關(guān)產(chǎn)品的自定義Topic:在Topic名稱列表中,手動輸入Topic名稱。例如
/${productKey}/${deviceName}/user/update
。其他情況:從Topic名稱列表選擇待分析的Topic。
Topic類型說明表:
設(shè)備
系統(tǒng)Topic
自定義Topic
物模型Topic
云網(wǎng)關(guān)設(shè)備:MQTT
不支持。
支持。
具體說明,請參見添加自定義Topic類。
支持屬性和事件類型。
具體說明,請參見設(shè)備上報(bào)屬性和設(shè)備上報(bào)事件。
云網(wǎng)關(guān)設(shè)備:NB-IoT
云網(wǎng)關(guān)設(shè)備:JT/T 808
支持設(shè)備上報(bào)數(shù)據(jù)Topic:
$JT808/${manufacturer}/${deviceModel}/${deviceId}/up
。具體說明,請參見設(shè)備上報(bào)數(shù)據(jù)。
不支持。
云網(wǎng)關(guān)設(shè)備:GB/T 32960
支持設(shè)備上報(bào)數(shù)據(jù)Topic:
$GB23960/${VIN}/up
。具體說明,請參見設(shè)備上報(bào)數(shù)據(jù)。
非云網(wǎng)關(guān)設(shè)備
支持設(shè)備影子發(fā)布Topic:
/shadow/update/${YourProductKey}/${YourDeviceName}
。具體說明,請參見設(shè)備影子。
支持。
具體說明,請參見添加自定義Topic類。
API數(shù)據(jù)源:選擇該類型后,您需選擇具體的API數(shù)據(jù)源,以處理通過API數(shù)據(jù)源導(dǎo)入的外部數(shù)據(jù)。
更多信息,請參見配置API數(shù)據(jù)源。
單擊下一步,選擇Topic格式,配置格式解析。
JSON、ProtoBuf、Base64(to_JSON)
根據(jù)選擇的Topic格式,配置樣例數(shù)據(jù)。
說明如果Topic在7天內(nèi)上報(bào)過數(shù)據(jù),單擊拉取線上數(shù)據(jù),會自動配置樣例數(shù)據(jù)。
Topic格式
配置樣例
JSON
在樣例數(shù)據(jù)框中,直接配置樣例數(shù)據(jù)。樣例數(shù)據(jù)的內(nèi)容大小不能超過16 KB。
ProtoBuf
單擊上傳.desc文件,上傳
.desc
文件,用于解析ProtoBuf格式數(shù)據(jù)。生成.desc文件方法,請參見附錄:生成.desc文件。
選擇消息類型后,單擊上傳二進(jìn)制數(shù)據(jù)文件,配置樣例數(shù)據(jù)。
Base64(to_JSON)
單擊上傳Base64數(shù)據(jù)文件,配置樣例數(shù)據(jù)。
配置樣例數(shù)據(jù)后,單擊校驗(yàn)解析:
若解析成功,可在解析預(yù)覽中查看數(shù)據(jù)。
若解析失敗,則根據(jù)提示,修正樣例數(shù)據(jù)后,重新校驗(yàn)。
選擇是否透傳。
否(默認(rèn))。
是:選中后,只支持將解析后的數(shù)據(jù)通過Topic流轉(zhuǎn),不再支持自定義數(shù)據(jù)存儲和SQL離線分析。
單擊保存。
您可在畫布下方數(shù)據(jù)結(jié)構(gòu)中查看解析字段的結(jié)構(gòu)列表,包括字段名稱和數(shù)據(jù)類型。
說明如果是否透傳為是,在畫布中源節(jié)點(diǎn)后會自動刪除已添加的其他節(jié)點(diǎn),自動添加并連接目標(biāo)節(jié)點(diǎn)。此時(shí),源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間不可再添加其他節(jié)點(diǎn)。
原始數(shù)據(jù)
選擇是否透傳。
否(默認(rèn))。
是:選中后,只支持將解析后的數(shù)據(jù)通過Topic流轉(zhuǎn),不再支持自定義數(shù)據(jù)存儲和SQL離線分析。
單擊保存。
在畫布中的源節(jié)點(diǎn)后會自動添加并連接自定義節(jié)點(diǎn)。
源節(jié)點(diǎn)與自定義節(jié)點(diǎn)之間不可再添加其他節(jié)點(diǎn)。源節(jié)點(diǎn)后已添加并連接的其他節(jié)點(diǎn),會自動連接到自定義節(jié)點(diǎn)后。
說明如果是否透傳為是,在畫布中源節(jié)點(diǎn)后會自動刪除已添加的其他節(jié)點(diǎn),自定義節(jié)點(diǎn)后會自動添加并連接目標(biāo)節(jié)點(diǎn)。此時(shí),自定義節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間不可再添加其他節(jié)點(diǎn)。
配置自定義節(jié)點(diǎn)的腳本,解析原始數(shù)據(jù)。
在畫布中單擊自定義節(jié)點(diǎn)。
在自定義腳本面板,選擇腳本語言,然后在編輯腳本下的輸入框中輸入腳本。
支持的腳本語言
需定義的函數(shù)
示例代碼
JavaScript(ECMAScript 5)
executeScript()
Python 2.7
execute_script()
PHP 7.2
executeScript()
在模擬輸入頁簽,輸入模擬的設(shè)備上報(bào)數(shù)據(jù)。
單擊執(zhí)行。
執(zhí)行成功后,在運(yùn)行結(jié)果頁簽顯示解析后的數(shù)據(jù)。您可單擊運(yùn)行日志頁簽,查看腳本執(zhí)行日志。
單擊數(shù)據(jù)解析工作臺右上角的保存,完成配置源節(jié)點(diǎn)。
后續(xù)步驟
源節(jié)點(diǎn)配置完成后,您可以繼續(xù)配置其他處理節(jié)點(diǎn)解析數(shù)據(jù),或配置目標(biāo)節(jié)點(diǎn)完成整個(gè)解析任務(wù)配置。
附錄:生成.desc文件
若設(shè)備上傳ProtoBuf格式的數(shù)據(jù),在配置該格式的樣例數(shù)據(jù)前,需先上傳用于解析的
.desc
文件。使用本功能前,您需了解Protocol Buffers的基礎(chǔ)知識。
下載并安裝Protocol Buffers。
使用以下命令,生成
.desc
文件。protoc -I=/filepath1/ --descriptor_set_out=/filepath2/proto.desc /filepath3/proto.proto
命令中的參數(shù)說明如下:
參數(shù)
說明
-I
為
--proto_path
的縮寫形式。編譯.proto
文件時(shí),指定尋找定義的import
文件依賴的路徑。您需將其值
/filepath1/
,改為該依賴所在的路徑。如果無需依賴,則更改為本地任意路徑。--descriptor_set_out
指定要生成的
.desc
文件的輸出路徑。您需將其值
/filepath2/proto.desc
,改為含文件名的輸出路徑。/filepath3/proto.proto
指定源
.proto
文件的名稱和路徑。如需將多個(gè)文件生成.desc
文件,可輸入多個(gè)含源文件名的路徑,以半角逗號(,)隔開。您需將該值改為含該源
proto
文件名的路徑。