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