數(shù)據(jù)轉(zhuǎn)發(fā)到表格存儲(Tablestore)寬表模型
設(shè)備元數(shù)據(jù)(例如設(shè)備標(biāo)簽、屬性和狀態(tài)數(shù)據(jù))具有高頻更新、查詢能力要求高等特點,可用于設(shè)備管理、設(shè)備圈選、設(shè)備狀態(tài)查詢,需要支持高并發(fā)低延遲的數(shù)據(jù)更新、多維度檢索、地理空間檢索以及數(shù)據(jù)實時計算與分析。表格存儲(Tablestore)的寬表引擎是一個分布式的數(shù)據(jù)表,可用于設(shè)備元數(shù)據(jù)的存儲與更新。本文以物模型數(shù)據(jù)上報Topic為例,介紹使用云產(chǎn)品流轉(zhuǎn)功能將設(shè)備數(shù)據(jù)轉(zhuǎn)發(fā)到表格存儲(Tablestore)寬表模型中的完整流程。
工作原理
云產(chǎn)品流轉(zhuǎn)將設(shè)備的Topic消息轉(zhuǎn)發(fā)到表格存儲實例中的數(shù)據(jù)表中存儲,使用表格存儲的寬表引擎服務(wù)。
在上圖中:
數(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)建的表格存儲實例中的數(shù)據(jù)表,用于接收設(shè)備數(shù)據(jù)。
解析器腳本:配置通過數(shù)據(jù)流轉(zhuǎn)函數(shù)
writeTableStore(destinationId, data, flowType)
將Topic數(shù)據(jù)轉(zhuǎn)發(fā)到表格存儲的數(shù)據(jù)表。data
僅支持Map類型數(shù)據(jù),其中鍵(Key)值對應(yīng)數(shù)據(jù)庫表列名,值(Value)對應(yīng)列值。函數(shù)詳細(xì)說明,請參見函數(shù)列表。
使用限制
新版和舊版云產(chǎn)品流轉(zhuǎn)功能均支持將數(shù)據(jù)流轉(zhuǎn)到表格存儲(Tablestore)。舊版云產(chǎn)品流轉(zhuǎn)使用示例,請參見數(shù)據(jù)轉(zhuǎn)發(fā)到表格存儲(舊版)。
物聯(lián)網(wǎng)平臺實例及所在地域支持將數(shù)據(jù)轉(zhuǎn)發(fā)到表格存儲(Tablestore)寬表模型。支持的地域詳細(xì)信息,請參見各地域功能說明。
物聯(lián)網(wǎng)平臺實例下設(shè)備消息轉(zhuǎn)發(fā)的更多使用限制,請參見使用限制。
應(yīng)用場景
可應(yīng)用于車聯(lián)網(wǎng)、智能家居、工業(yè)物聯(lián)網(wǎng)等物聯(lián)網(wǎng)場景。詳細(xì)說明,請參見物聯(lián)網(wǎng)存儲IoTstore的應(yīng)用場景。
前提條件
已添加待轉(zhuǎn)發(fā)的設(shè)備Topic數(shù)據(jù)源。例如:創(chuàng)建數(shù)據(jù)源DataSource,添加指定設(shè)備的物模型數(shù)據(jù)上報Topic。具體步驟,請參見添加待流轉(zhuǎn)的數(shù)據(jù)源。
已創(chuàng)建表格存儲實例和用于接收數(shù)據(jù)的數(shù)據(jù)表。表格存儲使用方法,請參見表格存儲文檔。
重要企業(yè)版實例中,表格存儲實例所在地域,必須與企業(yè)版實例所在地域一致。
背景信息
表格存儲寬表模型:類Bigtable/HBase模型,可應(yīng)用于元數(shù)據(jù)、大數(shù)據(jù)等多種場景,支持?jǐn)?shù)據(jù)版本、生命周期、主鍵列自增、條件更新、局部事務(wù)、原子計數(shù)器、過濾器等功能。更多信息,請參見寬表模型。
將物聯(lián)網(wǎng)平臺設(shè)備上報數(shù)據(jù)轉(zhuǎn)發(fā)到表格存儲中的詳細(xì)說明,請參見物聯(lián)網(wǎng)存儲介紹。
創(chuàng)建數(shù)據(jù)目的
在實例概覽頁簽的全部環(huán)境下,找到對應(yīng)的實例,單擊實例卡片。
在左側(cè)導(dǎo)航欄,選擇 。
在云產(chǎn)品流轉(zhuǎn)頁面,單擊右上角體驗新版,進(jìn)入新版功能頁面。
說明如果您已執(zhí)行過此操作,再次進(jìn)入云產(chǎn)品流轉(zhuǎn)頁面,會直接進(jìn)入新版功能頁面。
單擊數(shù)據(jù)目的頁簽,然后單擊創(chuàng)建數(shù)據(jù)目的。
在創(chuàng)建數(shù)據(jù)目的對話框,輸入數(shù)據(jù)目的名稱,例如DataPurpose,按照以下參數(shù)說明,完成配置,然后單擊確定。
說明僅支持轉(zhuǎn)發(fā)JSON格式數(shù)據(jù)。
參數(shù)
說明
選擇操作
選擇存儲到表格存儲(Tablestore)。
地域
選擇表格存儲所在地域。
實例
選擇表格存儲實例。
您可以單擊創(chuàng)建實例,跳轉(zhuǎn)到表格存儲控制臺,創(chuàng)建表格存儲實例,請參見表格存儲文檔。
存儲類型
選擇寬表模型。
數(shù)據(jù)表
選擇接收數(shù)據(jù)的表格存儲數(shù)據(jù)表。
您可以單擊創(chuàng)建數(shù)據(jù)表,跳轉(zhuǎn)到表格存儲控制臺,創(chuàng)建表格存儲數(shù)據(jù)表。
角色
授權(quán)物聯(lián)網(wǎng)平臺將數(shù)據(jù)寫入表格存儲。
如您還未創(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語法,詳細(xì)編輯方法,請參見腳本語法。
函數(shù)參數(shù)說明,請參見函數(shù)列表。
//通過payload函數(shù),獲取設(shè)備上報的消息內(nèi)容,并按照J(rèn)SON格式轉(zhuǎn)換。 var data = payload("json"); //獲取上報的屬性值。 var h = data.items.Humidity.value; var t = data.items.Temperature.value; // 表中添加主鍵deviceName、id,在writeTableStore方法中,可以按column:value的形式,將溫濕度值寫入對應(yīng)的列。 writeTableStore(1000, {"deviceName":deviceName(), "id":timestamp(), "temperature":t, "humidity":h});
單擊調(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)平臺控制臺,單擊目標(biāo)企業(yè)版實例,查看設(shè)備狀態(tài)和消息轉(zhuǎn)發(fā)日志。具體操作,請參見云端運行日志。
數(shù)據(jù)推送成功后,在表格存儲接收數(shù)據(jù)的數(shù)據(jù)表的數(shù)據(jù)管理頁簽,查看是否成功接收到指定數(shù)據(jù)。
操作樣例
相關(guān)文檔
設(shè)備接入物聯(lián)網(wǎng)平臺上報數(shù)據(jù)的操作指導(dǎo),請參見設(shè)備接入引導(dǎo)。
您可在實例詳情頁面,查看消息轉(zhuǎn)發(fā)TPS可用資源,確保設(shè)備消息能正常轉(zhuǎn)發(fā)到表格存儲中。具體操作,請參見查看實例信息和運行數(shù)據(jù)。如果可用資源不足,可進(jìn)行升配。具體內(nèi)容,請參見升配。
使用表格存儲的注意事項和常見問題,請參見表格存儲的一般性問題。