數(shù)據(jù)轉(zhuǎn)發(fā)到DataHub
通過物聯(lián)網(wǎng)平臺云產(chǎn)品流轉(zhuǎn)功能將設(shè)備數(shù)據(jù)流轉(zhuǎn)到數(shù)據(jù)總線DataHub后,用戶可以編寫應(yīng)用程序或者使用流計算引擎來處理寫入到數(shù)據(jù)總線DataHub的流式數(shù)據(jù)(例如再流轉(zhuǎn)至實時計算、MaxCompute等服務(wù)中),產(chǎn)出各種實時的數(shù)據(jù)處理結(jié)果,例如實時圖表、報警信息、實時統(tǒng)計等。本文以物模型數(shù)據(jù)上報Topic為例,介紹流轉(zhuǎn)消息數(shù)據(jù)的完整流程。
工作原理
云產(chǎn)品流轉(zhuǎn)將設(shè)備的Topic消息轉(zhuǎn)發(fā)到DataHub Project中的Topic,使用DataHub服務(wù)進行清洗、分析、歸檔數(shù)據(jù)等操作。詳細內(nèi)容,請參見數(shù)據(jù)總線DataHub。
在上圖中:
數(shù)據(jù)源:支持的Topic類型消息,請參見數(shù)據(jù)格式(非云網(wǎng)關(guān)產(chǎn)品和設(shè)備)、自定義Topic(MQTT云網(wǎng)關(guān))、消息轉(zhuǎn)發(fā)Topic(GB/T 32960云網(wǎng)關(guān))、消息轉(zhuǎn)發(fā)Topic(JT/T 808云網(wǎng)關(guān))、消息轉(zhuǎn)發(fā)Topic(SL 651云網(wǎng)關(guān))。
數(shù)據(jù)目的:創(chuàng)建的DataHub Project及對應(yīng)Topic,用于接收設(shè)備數(shù)據(jù)。
解析器腳本:配置通過數(shù)據(jù)流轉(zhuǎn)函數(shù)
writeDatahub(destinationId, data)
將Topic數(shù)據(jù)轉(zhuǎn)發(fā)到DataHub Project中的Topic。data
僅支持Map和Binary類型的數(shù)據(jù)。函數(shù)詳細說明,請參見函數(shù)列表。
應(yīng)用場景
將物聯(lián)網(wǎng)平臺數(shù)據(jù)寫入DataHub進行統(tǒng)一管理:
可投遞到下游的分析、歸檔等系統(tǒng),構(gòu)建清晰的數(shù)據(jù)流,讓您更好地釋放數(shù)據(jù)的價值。
可結(jié)合實時計算,把多種數(shù)據(jù)源的異構(gòu)數(shù)據(jù)實時清洗成統(tǒng)一的結(jié)構(gòu)化數(shù)據(jù),為進一步分析做準(zhǔn)備。
可搭建原始數(shù)據(jù)層、實時明細層和實時匯總層,打造實時數(shù)據(jù)倉庫。
詳細說明,請參見DataHub的應(yīng)用場景。
使用限制
物聯(lián)網(wǎng)平臺實例及所在地域支持將數(shù)據(jù)轉(zhuǎn)發(fā)到DataHub。支持的地域詳細信息,請參見各地域功能說明。
新版和舊版云產(chǎn)品流轉(zhuǎn)功能均支持將數(shù)據(jù)流轉(zhuǎn)到DataHub。舊版云產(chǎn)品流轉(zhuǎn)使用示例,請參見數(shù)據(jù)轉(zhuǎn)發(fā)到DataHub(舊版)。
物聯(lián)網(wǎng)平臺實例下設(shè)備消息轉(zhuǎn)發(fā)的更多使用限制,請參見使用限制。
前提條件
已添加待轉(zhuǎn)發(fā)的設(shè)備Topic數(shù)據(jù)源。例如:創(chuàng)建數(shù)據(jù)源DataSource,添加指定設(shè)備的物模型數(shù)據(jù)上報Topic。具體步驟,請參見添加待流轉(zhuǎn)的數(shù)據(jù)源。
已創(chuàng)建DataHub Project和用于接收數(shù)據(jù)的Topic。DataHub使用方法,請參見Project操作。
重要企業(yè)版實例中,DataHub Project所在地域必須與企業(yè)版實例所在地域一致。
創(chuàng)建數(shù)據(jù)目的
在實例概覽頁簽的全部環(huán)境下,找到對應(yīng)的實例,單擊實例卡片。
在左側(cè)導(dǎo)航欄,選擇 。
在云產(chǎn)品流轉(zhuǎn)頁面,單擊右上角體驗新版,進入新版功能頁面。
說明如果您已執(zhí)行過此操作,再次進入云產(chǎn)品流轉(zhuǎn)頁面,會直接進入新版功能頁面。
- 單擊數(shù)據(jù)目的頁簽,然后單擊創(chuàng)建數(shù)據(jù)目的。
在創(chuàng)建數(shù)據(jù)目的對話框,輸入數(shù)據(jù)目的名稱,例如DataPurpose,按照以下參數(shù)說明,完成配置,然后單擊確定。
參數(shù)
說明
選擇操作
選擇發(fā)送數(shù)據(jù)到DataHub中。
地域
選擇DataHub所在地域。
Project
選擇DataHub Project。
您可以單擊創(chuàng)建Project,跳轉(zhuǎn)到DataHub控制臺,創(chuàng)建DataHub Project,請參見Project操作。
Topic
選擇接收數(shù)據(jù)的DataHub Topic。
選擇Topic后,規(guī)則引擎會自動獲取Topic中的Schema,規(guī)則引擎篩選出來的數(shù)據(jù)將會映射到對應(yīng)的Schema中。
說明將數(shù)據(jù)映射到Schema時,需使用
${}
,否則存入表中的將會是一個常量。Schema與規(guī)則引擎的數(shù)據(jù)類型必須保持一致,否則無法存儲。
您可以單擊創(chuàng)建Topic,跳轉(zhuǎn)到DataHub控制臺,創(chuàng)建DataHub Topic。
角色
授權(quán)物聯(lián)網(wǎng)平臺將數(shù)據(jù)寫入DataHub。
如您還未創(chuàng)建相關(guān)角色,單擊創(chuàng)建RAM角色,跳轉(zhuǎn)到RAM控制臺,創(chuàng)建角色和授權(quán)策略,請參見創(chuàng)建RAM角色。
配置并啟動解析器
- 創(chuàng)建解析器,例如DataParser。具體操作,請參見步驟一:創(chuàng)建解析器。
- 在解析器詳情頁面,關(guān)聯(lián)數(shù)據(jù)源。
- 在配置向?qū)У?b data-tag="uicontrol" id="uicontrol-f9s-25z-bkv" class="uicontrol">數(shù)據(jù)源下,單擊關(guān)聯(lián)數(shù)據(jù)源。
- 在彈出的對話框中,單擊數(shù)據(jù)源下拉列表,選擇已創(chuàng)建的數(shù)據(jù)源DataSource,單擊確定。
- 在解析器詳情頁面,關(guān)聯(lián)數(shù)據(jù)目的。
- 單擊配置向?qū)У?b data-tag="uicontrol" id="uicontrol-msn-zik-exs" class="uicontrol">數(shù)據(jù)目的,然后單擊數(shù)據(jù)目的列表右上方的關(guān)聯(lián)數(shù)據(jù)目的。
- 在彈出的對話框中,單擊數(shù)據(jù)目的下拉列表,選擇已創(chuàng)建的數(shù)據(jù)目的DataPurpose,單擊確定。
- 在數(shù)據(jù)目的列表,查看并保存數(shù)據(jù)目的ID,例如為1000。后續(xù)解析腳本中,需使用此處的數(shù)據(jù)目的ID。
- 在解析器詳情頁面,單擊解析器。
在腳本輸入框,輸入解析腳本。
解析腳本類似JavaScript語言,編輯腳本的語法參考JavaScript語法,詳細的編輯方法,請參見腳本語法。
函數(shù)參數(shù)說明,請參見函數(shù)列表。
//通過payload函數(shù),獲取設(shè)備上報的消息內(nèi)容,并按照JSON格式轉(zhuǎn)換。 var data = payload("json"); //直接流轉(zhuǎn)物模型上報數(shù)據(jù)。 writeDatahub(1000, data);
單擊調(diào)試,根據(jù)頁面提示,選擇產(chǎn)品和設(shè)備,輸入Topic和Payload數(shù)據(jù),驗證腳本可執(zhí)行。
參數(shù)示例如下:
運行結(jié)果如下,表示腳本執(zhí)行成功。
- 單擊發(fā)布。
- 回到云產(chǎn)品流轉(zhuǎn)頁面的解析器頁簽,單擊解析器DataParser對應(yīng)的啟動按鈕,啟動解析器。
后續(xù)操作
您可在物聯(lián)網(wǎng)平臺控制臺對應(yīng)實例下云端運行日志。
頁面的云端運行日志頁簽,查看設(shè)備到云消息及云產(chǎn)品流轉(zhuǎn)的運行日志。具體操作,請參見您可登錄DataHub服務(wù)控制臺,查看寫入DataHub的數(shù)據(jù)。具體內(nèi)容,請參見快速入門。
您可將對應(yīng)Topic中的數(shù)據(jù)
實時/準(zhǔn)實時
的同步到第三方阿里云產(chǎn)品中,打通阿里云產(chǎn)品間的數(shù)據(jù)流通。目前支持MaxCompute(原ODPS)、分析型數(shù)據(jù)庫MySQL(ADS)、云數(shù)據(jù)庫RDS、表格存儲TableStore、對象存儲OSS、ElasticSearch以及函數(shù)計算服務(wù)等。詳細內(nèi)容,請參見數(shù)據(jù)同步。
相關(guān)文檔
設(shè)備接入物聯(lián)網(wǎng)平臺上報數(shù)據(jù)的操作指導(dǎo),請參見設(shè)備接入引導(dǎo)。
您可在實例詳情頁面,查看消息轉(zhuǎn)發(fā)TPS可用資源,確保設(shè)備消息能正常轉(zhuǎn)發(fā)到DataHub中。具體操作,請參見查看實例信息和運行數(shù)據(jù)。如果可用資源不足,可進行升配。具體內(nèi)容,請參見升配。
使用DataHub的常見問題,請參見DataHub常見問題歸類。