建立來源訊息類別
本指南說明如何為 Manufacturing Data Engine (MDE) 建立來源訊息類別。
來源訊息類別建模
應定義來源訊息類別,擷取共用相同結構的一組來源訊息。
設計來源訊息類別時,越具體明確,在 Whistle 指令碼中處理不同來源訊息之間的結構定義差異時,就越不需要條件陳述式。不過,建立更具體的來源訊息類別會導致需要更多剖析器。
因此,建立來源訊息類別模型時,一方面要讓來源訊息類別具有統一的訊息結構定義,另一方面則要考量您需要管理的剖析器數量,並在這兩者之間取得適當的平衡。
建立來源訊息類別
本節說明如何使用 API 呼叫或控制台介面,建立來源訊息類別。
REST
POST /configuration/v1/message-classes
{
"name": "MESSAGE_CLASS_NAME",
"MESSAGE_CLASS_NAME": "PRIORITY",
"expression": "SPEL_EXPRESSION"
}
更改下列內容:
MESSAGE_CLASS_NAME:要建立的訊息類別名稱。PRIORITY:訊息類別的優先順序。訊息類別的優先順序是介於 0 至 65535 之間的整數 (含首尾)。整數值越小,代表優先順序越高。SPEL_EXPRESSION:定義訊息類別的 SpEL 運算式。例如#root.event['value'] instanceof T(Number)
控制台
開啟 UI 的「MESSAGE CLASSES」(訊息類別) 區段,建立「Source Message Class」(來源訊息類別)。使用者介面的這個部分會顯示所有可用的訊息類別清單:

清單中會顯示每個訊息類別的下列參數:
- 訊息類別名稱:訊息類別的名稱。不得重複。
- 訊息類別運算式:與訊息類別相關聯的實際 SpEL 運算式。
- 優先順序:訊息類別的優先順序 (數字越小代表優先順序越高)。
- 已啟用:訊息類別的狀態。 系統不會擷取已停用的訊息類別。
- 動作:提供存取「查看/編輯」功能和「啟用 / 停用」功能的脈絡按鈕,適用於所選訊息類別。
如要新增訊息類別,請按一下頂端的「新增訊息類別」按鈕。系統會顯示新的側邊選單,其中包含所有必須提供的訊息類別參數:

- 訊息類別名稱:定義訊息類別的專屬字串。
- 訊息類別運算式:指定義訊息類別的 SpEL 運算式。
- 優先順序:定義與訊息類別相關聯的優先順序。訊息類別的優先順序是介於 0 至 65535 之間的整數 (含首尾)。整數值越小,代表優先順序越高。如果訊息驗證 2 個訊息類別的運算式,系統只會觸發優先順序值較低的訊息類別。
如要建立新的「訊息類別」,請在「訊息類別運算式」欄位中填入有效的 SpEL 運算式,並設定優先順序
按一下「建立」按鈕儲存變更。如果成功建立新的訊息類別,系統會顯示確認訊息。
測試來源訊息類別運算式
建立來源訊息類別前,您可以先實驗及測試來源訊息類別運算式。
REST
POST /configuration/v1/message-classes:test
{
"expression": "SPEL_EXPRESSION",
"testMessage": "TEST_MESSAGE"
}
更改下列內容:
SPEL_EXPRESSION:定義訊息類別的 SpEL 運算式。TEST_MESSAGE:測試來源訊息物件。
傳回物件會告知您提供的運算式是否符合語法,以及是否會針對提供的訊息評估為 true 的 false。
控制台
使用者介面提供選項,可使用測試訊息測試新 Message 類別的 SpEL 運算式。
- 在「測試訊息」方塊中填入範例
JSON訊息。 - 按一下「執行測試」執行驗證。測試結果為「相符」或「不相符」,並簡要說明相符條件。

根據所有有效訊息類別評估測試訊息
您可以評估訊息,判斷一組有效來源訊息類別的測試訊息會屬於哪個來源訊息類別。
REST
POST /configuration/v1/message-classes:evaluate
{
"testMessage": "TEST_MESSAGE"
}
更改下列內容:
TEST_MESSAGE,其中包含測試來源訊息物件。
傳回的物件會告知您提供的訊息是否與任何來源訊息類別相符。