數(shù)據(jù)轉(zhuǎn)發(fā)至函數(shù)工作流
構(gòu)建函數(shù)工程
創(chuàng)建工程
本例使用Java語言實現(xiàn)設(shè)備接入屬性數(shù)據(jù)流式轉(zhuǎn)換功能與推送功能,有關(guān)函數(shù)開發(fā)的過程請參考FunctionGraph的Java函數(shù)開發(fā)指南,本例不再介紹函數(shù)工作流函數(shù)實現(xiàn)的代碼。
下載樣例源碼,解壓縮并在Idea中導入工程。代碼說明可參考:樣例代碼說明,其中用戶自己的服務(wù)器地址通過函數(shù)環(huán)境變量NA_MOCK_SERVER_ADDRESS傳入。
打包工程
使用Idea的Build Artifacts打包Jar,Idea配置及打包。
上傳函數(shù)至FunctionGraph
在函數(shù)工作流工作臺創(chuàng)建函數(shù)
1.登錄函數(shù)工作流控制臺在左側(cè)導航欄選擇“函數(shù) > 函數(shù)列表”,進入函數(shù)列表界面。
2.單擊“創(chuàng)建函數(shù)”,進入創(chuàng)建函數(shù)流程。
3.填寫函數(shù)配置信息。
選擇:“創(chuàng)建空白函數(shù)”。
函數(shù)名稱輸入:“IoTDA_FUNCTION_HTTPCLIENT_DEMO”。
運行時語言選擇:“Java 8”。
4.單擊下方“創(chuàng)建函數(shù)”,完成函數(shù)創(chuàng)建,完成函數(shù)創(chuàng)建后將自動跳轉(zhuǎn)到該函數(shù)詳情頁。
5.在函數(shù)詳情頁中選擇“代碼”>“上傳自”>“JAR文件”,上傳程序打包文件夾中的代碼包:FunctionGraphFun.jar。
6.修改函數(shù)運行時參數(shù),選擇“設(shè)置>常規(guī)設(shè)置”配置函數(shù)執(zhí)行入口:“com.huawei.iot.function.gamma.IoTDataFlowHttpClientTrigger.funTest”,填寫完成后,單擊打“保存”,保存配置信息。
7.修改調(diào)用函數(shù)時傳遞的環(huán)境變量,配置環(huán)境變量“NA_MOCK_SERVER_ADDRESS”傳入函數(shù)要推送的HttpServer地址,注意示例中服務(wù)器地址非真實服務(wù)器地址,請?zhí)鎿Q成您真實的http服務(wù)器地址,填寫完成后,單擊“保存”,保存配置信息。
添加事件源
函數(shù)創(chuàng)建以后,可以為函數(shù)添加事件源,本例通過配置Http推送測試事件,模擬IoT數(shù)據(jù)轉(zhuǎn)發(fā)過來的設(shè)備數(shù)據(jù),步驟如下:
1.用戶進入“IoTDA_FUNCTION_HTTPCLIENT_DEMO”函數(shù)詳情頁,選擇“代碼”>“配置測試事件”,彈出“配置測試事件”窗口。
2.在“配置測試事件”窗口中,輸入配置信息。
配置測試事件選擇:“創(chuàng)建新的測試事件”。
事件模板選擇:“空白模板”。
事件名稱輸入:“event-property”。
設(shè)備屬性上報測試參數(shù)示例如下:
3.單擊“保存”,完成測試事件配置。
測試數(shù)據(jù)
處理模擬數(shù)據(jù)步驟如下:
1.用戶進入函數(shù)詳情頁,選擇“event-property”測試事件,單擊“測試”,測試函數(shù)。
2.函數(shù)執(zhí)行成功后,可在函數(shù)詳情頁右側(cè)通過日志查看函數(shù)執(zhí)行情況。
配置設(shè)備接入服務(wù)
在設(shè)備接入服務(wù)中設(shè)置數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則,實現(xiàn)當設(shè)備上報數(shù)據(jù)時將數(shù)據(jù)轉(zhuǎn)發(fā)至函數(shù)工作流。
1.訪問設(shè)備接入服務(wù),單擊“立即使用”進入設(shè)備接入控制臺。
2.在左側(cè)導航欄選擇“規(guī)則>數(shù)據(jù)轉(zhuǎn)發(fā)”,單擊左上角的“創(chuàng)建規(guī)則”。
3.參考下表參數(shù)說明,填寫規(guī)則內(nèi)容。以下參數(shù)取值僅為示例,您可參考用戶指南創(chuàng)建自己的規(guī)則,填寫完成后單擊“創(chuàng)建規(guī)則”。
參數(shù)名
參數(shù)說明
規(guī)則名稱
自定義,如“iotda-functiongraph”。
規(guī)則描述
自定義,如“數(shù)據(jù)轉(zhuǎn)發(fā)至FunctionGraph”。
數(shù)據(jù)來源
選擇“設(shè)備屬性”。
觸發(fā)事件
自動匹配“設(shè)備屬性上報”。
資源空間
選擇“所有資源空間”。
4.單擊“設(shè)置轉(zhuǎn)發(fā)目標”頁簽,單擊“添加”,設(shè)置轉(zhuǎn)發(fā)目標,設(shè)置完成后點擊“確定”按鈕。
參數(shù)名
參數(shù)說明
轉(zhuǎn)發(fā)目標
選擇“函數(shù)工作流(FunctionGraph)”。
區(qū)域
函數(shù)工作流當前僅支持轉(zhuǎn)發(fā)至同區(qū)域的函數(shù)工作流服務(wù)。若未授權(quán)訪問此區(qū)域的服務(wù),請根據(jù)界面提示,配置云服務(wù)訪問授權(quán)。
目標函數(shù)
選擇在函數(shù)工作流創(chuàng)建的函數(shù)名稱。
5.單擊“啟動規(guī)則”,激活配置好的數(shù)據(jù)轉(zhuǎn)發(fā)規(guī)則。
驗證操作
您可以使用設(shè)備接入服務(wù)中注冊的真實設(shè)備接入平臺,上報對應(yīng)產(chǎn)品物模型中定義的屬性參數(shù)。
您也可以使用模擬器模擬設(shè)備屬性上報,操作方法請參考在線開發(fā)MQTT協(xié)議的智慧路燈。
期望結(jié)果:能在用戶服務(wù)端日志中查看到設(shè)備上報的數(shù)據(jù)。
其他應(yīng)用場景
-
使用FunctionGraph函數(shù)對OBS中的圖片進行壓縮
將圖片上傳到特定的OBS桶中
將用戶上傳的每個圖像的尺寸進行壓縮
將處理完后的圖像上傳到另一個指定的OBS桶
將圖片上傳到特定的OBS桶中
將用戶上傳的每個圖像的尺寸進行壓縮
將處理完后的圖像上傳到另一個指定的OBS桶
-
使用FunctionGraph函數(shù)為OBS中的圖片打水印
將圖片上傳到特定的OBS桶中
將用戶上傳的每個圖片打水印
將處理完后的圖像上傳到另一個指定的OBS桶
將圖片上傳到特定的OBS桶中
將用戶上傳的每個圖片打水印
將處理完后的圖像上傳到另一個指定的OBS桶中
-
使用FunctionGraph函數(shù)對DIS數(shù)據(jù)進行格式轉(zhuǎn)換并存儲到CloudTable
本章節(jié)介紹如何使用函數(shù)結(jié)合數(shù)據(jù)接入服務(wù)(DIS)采集IOT實時數(shù)據(jù)流,并將采集到的數(shù)據(jù)進行格式轉(zhuǎn)換,存儲到表格存儲服務(wù)(CloudTable Service)中。
本章節(jié)介紹如何使用函數(shù)結(jié)合數(shù)據(jù)接入服務(wù)(DIS)采集IOT實時數(shù)據(jù)流,并將采集到的數(shù)據(jù)進行格式轉(zhuǎn)換,存儲到表格存儲服務(wù)(CloudTable Service)中。
-
使用FunctionGraph函數(shù)識別LTS中的異常業(yè)務(wù)日志并存儲到OBS
通過LTS云日志服務(wù),快速完成ECS等服務(wù)器的任務(wù)運行日志采集、加工和轉(zhuǎn)換。
通過LTS云日志服務(wù),快速完成ECS等服務(wù)器的任務(wù)運行日志采集、加工和轉(zhuǎn)換。
-
使用FunctionGraph函數(shù)和CTS識別非法IP的登錄登出操作
通過CTS云審計服務(wù),完成對公有云賬戶對各個云服務(wù)資源操作動作和結(jié)果的實時記錄。
通過CTS云審計服務(wù),完成對公有云賬戶對各個云服務(wù)資源操作動作和結(jié)果的實時記錄。
-
使用FunctionGraph部署AI繪畫Stable Diffusion應(yīng)用
本章節(jié)介紹如何通過FunctionGraph的應(yīng)用中心,部署AI繪畫Stable-Diffusion應(yīng)用,并提供多種自定義使用AI繪畫應(yīng)用的方法。
本章節(jié)介紹如何通過FunctionGraph的應(yīng)用中心,部署AI繪畫Stable-Diffusion應(yīng)用,并提供多種自定義使用AI繪畫應(yīng)用的方法。
函數(shù)工作流 FunctionGraph 教程視頻
函數(shù)工作流
03:15
函數(shù)工作流
02:10
函數(shù)工作流
03:10
函數(shù)工作流
02:33
函數(shù)工作流
02:42
函數(shù)工作流
02:18
函數(shù)工作流
02:42