配置解析器
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
云產(chǎn)品流轉(zhuǎn)功能通過配置數(shù)據(jù)流轉(zhuǎn)解析器關(guān)聯(lián)數(shù)據(jù)源(設(shè)備Topic消息)和數(shù)據(jù)目的(其他Topic、業(yè)務(wù)服務(wù)器或其他阿里云產(chǎn)品),使用解析腳本實(shí)現(xiàn)設(shè)備消息轉(zhuǎn)發(fā)。本文介紹設(shè)置數(shù)據(jù)流轉(zhuǎn)解析器的完整操作步驟,依次是創(chuàng)建解析器、關(guān)聯(lián)數(shù)據(jù)源和數(shù)據(jù)目的、配置流轉(zhuǎn)數(shù)據(jù)的解析腳本。
工作原理
在物聯(lián)網(wǎng)平臺(tái)配置云產(chǎn)品流轉(zhuǎn)的數(shù)據(jù)解析器,實(shí)現(xiàn)數(shù)據(jù)源(設(shè)備消息)轉(zhuǎn)發(fā)至數(shù)據(jù)目(另一個(gè)Topic、AMQP服務(wù)端或其他阿里云產(chǎn)品),實(shí)現(xiàn)設(shè)備與設(shè)備、設(shè)備與服務(wù)器、設(shè)備與阿里云產(chǎn)品的通信。
前提條件
已添加數(shù)據(jù)源和數(shù)據(jù)目的,請(qǐng)參見:
使用限制
一個(gè)實(shí)例最多創(chuàng)建解析器數(shù)為1,000。
一個(gè)解析器最多關(guān)聯(lián)1個(gè)數(shù)據(jù)源。
一個(gè)解析器最多關(guān)聯(lián)10個(gè)數(shù)據(jù)目的。
一個(gè)解析器最多關(guān)聯(lián)1個(gè)異常數(shù)據(jù)目的。
一個(gè)解析器的腳本內(nèi)容最大120 KB。
一個(gè)解析器的腳本中循環(huán)執(zhí)行流轉(zhuǎn)函數(shù)的最大次數(shù)為100。
新增解析器
步驟一:創(chuàng)建解析器
在實(shí)例概覽頁簽的全部環(huán)境下,找到對(duì)應(yīng)的實(shí)例,單擊實(shí)例卡片。
在左側(cè)導(dǎo)航欄,選擇 。
- 在云產(chǎn)品流轉(zhuǎn)頁面,單擊右上角體驗(yàn)新版,進(jìn)入新版功能頁面。說明 如果您已執(zhí)行過此操作,再次進(jìn)入云產(chǎn)品流轉(zhuǎn)頁面,會(huì)直接進(jìn)入新版功能頁面。
在解析器頁簽,單擊創(chuàng)建解析器。
配置解析器名稱和解析器描述內(nèi)容,單擊確定。
解析器名稱支持中文、英文字母、日文、數(shù)字、下劃線(_)和短劃線(-),長(zhǎng)度為1~30個(gè)字符,一個(gè)中文及日文占2個(gè)字符。
根據(jù)頁面提示,可直接進(jìn)入解析器詳情頁面。您可單擊右上角編輯,修改解析器名稱和描述。
步驟二:關(guān)聯(lián)數(shù)據(jù)源和數(shù)據(jù)目的
在解析器詳情頁面,單擊關(guān)聯(lián)數(shù)據(jù)源。
在彈出的對(duì)話框中,單擊數(shù)據(jù)源下拉列表,選擇已創(chuàng)建的數(shù)據(jù)源,單擊確定。
在解析器詳情頁面,單擊數(shù)據(jù)目的。
單擊關(guān)聯(lián)數(shù)據(jù)目的,在彈出的對(duì)話框中,單擊數(shù)據(jù)目的下拉列表,選擇已創(chuàng)建的數(shù)據(jù)目的,單擊確定。
單擊異常數(shù)據(jù)目的下的關(guān)聯(lián)數(shù)據(jù)目的,將重試失敗的錯(cuò)誤消息轉(zhuǎn)發(fā)至指定位置。
重要最多支持添加一個(gè)錯(cuò)誤操作。
正常操作和錯(cuò)誤操作的轉(zhuǎn)發(fā)目的地不能是相同的云產(chǎn)品。例如,不能同時(shí)轉(zhuǎn)發(fā)到表格存儲(chǔ)。
錯(cuò)誤消息轉(zhuǎn)發(fā)失敗后,不會(huì)再進(jìn)行重試。
這里的錯(cuò)誤消息僅針對(duì)因解析腳本報(bào)錯(cuò)導(dǎo)致的規(guī)則引擎轉(zhuǎn)發(fā)失敗錯(cuò)誤。
消息轉(zhuǎn)發(fā)至云產(chǎn)品失敗后,會(huì)進(jìn)行重試。若重試失敗,將根據(jù)錯(cuò)誤操作數(shù)據(jù)轉(zhuǎn)發(fā)的設(shè)置轉(zhuǎn)發(fā)錯(cuò)誤消息。
錯(cuò)誤消息格式:
{ "ruleName":"", "topic":"", "productKey":"", "deviceName":"", "messageId":"", "base64OriginalPayload":"", "failures":[ { "actionType":"OTS", "actionRegion":"cn-shanghai", "actionResource":"table1", "errorMessage":"" }, { "actionType":"RDS", "actionRegion":"cn-shanghai", "actionResource":"instance1/table1", "errorMessage":"" } ] }
錯(cuò)誤消息參數(shù)說明如下:
參數(shù)
說明
ruleName
規(guī)則名稱。
topic
消息來源Topic。
productKey
產(chǎn)品ProductKey。
deviceName
設(shè)備名稱。
messageId
云端消息ID。
base64OriginalPayload
Base64編碼后的原始數(shù)據(jù)。
failures
錯(cuò)誤詳情。可能會(huì)有多個(gè)。
actionType
出錯(cuò)操作的類型。
actionRegion
出錯(cuò)操作的地域。
actionResource
出錯(cuò)操作的目的資源。
errorMessage
錯(cuò)誤信息。
步驟三:配置解析腳本并啟動(dòng)解析器
在解析器詳情頁面,單擊解析器。
在腳本輸入框,輸入解析腳本。
腳本編輯方法,請(qǐng)參見腳本示例。數(shù)據(jù)轉(zhuǎn)發(fā)函數(shù)和腳本的使用示例,請(qǐng)參見數(shù)據(jù)流轉(zhuǎn)使用示例目錄下的具體文檔。
單擊調(diào)試,根據(jù)頁面提示,選擇產(chǎn)品和設(shè)備,輸入Topic和Payload數(shù)據(jù),驗(yàn)證腳本可執(zhí)行。
Topic:輸入的Topic,其數(shù)據(jù)格式與腳本解析邏輯相符即可。
Payload數(shù)據(jù):輸入數(shù)據(jù)的格式需符合規(guī)則引擎的數(shù)據(jù)格式。其中:
自定義Topic數(shù)據(jù)的格式,是設(shè)備上報(bào)的原始數(shù)據(jù)格式。
基礎(chǔ)通信Topic和物模型通信Topic數(shù)據(jù)的格式說明,請(qǐng)參見數(shù)據(jù)格式。
運(yùn)行結(jié)果中會(huì)顯示腳本中聲明的變量值和執(zhí)行的數(shù)據(jù)流轉(zhuǎn)函數(shù)。
調(diào)試成功后,會(huì)直接將調(diào)試數(shù)據(jù)寫入對(duì)應(yīng)云產(chǎn)品。您可登錄對(duì)應(yīng)云產(chǎn)品控制臺(tái),查看流轉(zhuǎn)的數(shù)據(jù)。
單擊發(fā)布。
所有設(shè)置完成后,返回至云產(chǎn)品流轉(zhuǎn)頁面的解析器頁簽,單擊解析器對(duì)應(yīng)的啟動(dòng)。解析器啟動(dòng)后,數(shù)據(jù)即可按照解析腳本進(jìn)行轉(zhuǎn)發(fā)。
導(dǎo)入舊規(guī)則
您可根據(jù)業(yè)務(wù)需求,直接導(dǎo)入舊版中已配置的流轉(zhuǎn)規(guī)則,再重新配置數(shù)據(jù)源、數(shù)據(jù)目的和解析腳本。導(dǎo)入舊規(guī)則步驟如下:
在解析器頁簽,單擊導(dǎo)入舊規(guī)則。
在右側(cè)面板的規(guī)則列表中,選中需要導(dǎo)入的規(guī)則,單擊確定。
舊規(guī)則導(dǎo)入后,會(huì)顯示在解析器列表中,且以
“connector_”+${舊規(guī)則名稱}
重新命名。您可根據(jù)業(yè)務(wù)需求,在解析器詳情頁面,修改解析器名稱,重新配置數(shù)據(jù)源、數(shù)據(jù)目的和解析腳本。
重要設(shè)備標(biāo)簽值(value)為String類型,
attribute()
函數(shù)返回結(jié)果為String類型,如果您需要使用返回結(jié)果做數(shù)學(xué)計(jì)算,請(qǐng)手動(dòng)進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。
可選操作
您也在云產(chǎn)品流轉(zhuǎn)頁面的解析器頁簽,執(zhí)行以下操作:
刪除、停止解析器,或刪除數(shù)據(jù)轉(zhuǎn)發(fā)目的地成功后,如果用戶在其他業(yè)務(wù)中使用了流轉(zhuǎn)的設(shè)備數(shù)據(jù),會(huì)導(dǎo)致服務(wù)不可用或影響用戶的業(yè)務(wù)。請(qǐng)謹(jǐn)慎操作。
查看:在解析器詳情頁面,更新解析器的具體設(shè)置,查詢解析器的運(yùn)行日志。例如,修改或刪除數(shù)據(jù)源Topic、數(shù)據(jù)轉(zhuǎn)發(fā)的目的地。
說明僅支持查看運(yùn)行中的解析器日志。您可在解析器詳情頁面,單擊解析器狀態(tài)右側(cè)的查看日志,即可跳轉(zhuǎn)到日志服務(wù)頁面,查詢解析器的運(yùn)行日志。
刪除:刪除對(duì)應(yīng)解析器。
重要運(yùn)行中的解析器不可刪除。
停止:停止對(duì)應(yīng)解析器轉(zhuǎn)發(fā)數(shù)據(jù)。
相關(guān)文檔
設(shè)備接入物聯(lián)網(wǎng)平臺(tái)上報(bào)數(shù)據(jù)的操作指導(dǎo),請(qǐng)參見設(shè)備接入引導(dǎo)。
設(shè)備接入物聯(lián)網(wǎng)平臺(tái)并上報(bào)數(shù)據(jù)后,可在物聯(lián)網(wǎng)平臺(tái)控制臺(tái)對(duì)應(yīng)實(shí)例下,查看設(shè)備消息轉(zhuǎn)發(fā)日志。詳細(xì)內(nèi)容,請(qǐng)參見云端運(yùn)行日志。
物聯(lián)網(wǎng)平臺(tái)實(shí)例下設(shè)備消息轉(zhuǎn)發(fā)的使用限制,請(qǐng)參見使用限制。
相關(guān)API
API | 描述 |
為解析器關(guān)聯(lián)指定數(shù)據(jù)源。 | |
查詢指定解析器關(guān)聯(lián)的數(shù)據(jù)目的列表。 | |
刪除解析器中的指定數(shù)據(jù)源。 | |
為解析器關(guān)聯(lián)指定數(shù)據(jù)目的。 | |
刪除解析器中的指定數(shù)據(jù)目的。 | |
編輯并保存解析器的腳本草稿。 | |
發(fā)布指定解析器中的腳本。 | |
啟動(dòng)解析器。 | |
停止解析器運(yùn)行。 |