ソース メッセージ クラスを作成する
このガイドでは、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'] セクションを開いて、 ソース メッセージ クラス を作成します。UI のこのセクションには、使用可能なすべてのメッセージ クラス のリストが表示されます。

メッセージ クラスごとに、次のパラメータがリストに表示されます。
- メッセージ クラス名: メッセージ クラスの名前。一意である必要があります。
- メッセージ クラス式: メッセージ クラスに関連付けられた実際の SpEL 式。
- 優先度: メッセージ クラスの優先度(数値が小さいほど 優先度が高くなります)。
- 有効: メッセージ クラスのステータス。 無効になっているメッセージ クラスは取り込みに含まれません。
- アクション: 選択したメッセージ クラスの ['表示 / 編集'] 関数と ['有効 / 無効'] 関数にアクセスできるコンテキスト ボタン。
新しいメッセージ クラスを追加するには、上部にある ['ADD NEW MESSAGE CLASS']ボタン をクリックします。新しいサイドメニューが表示され、指定する必要があるすべてのメッセージ クラス パラメータが表示されます。

- メッセージ クラス名: メッセージ クラスを定義する一意の文字列。
- メッセージ クラス式: メッセージ クラスを定義する SpEL 式を参照します。
- 優先度: メッセージ クラスに関連付けられた優先度を定義します。メッセージ クラスの優先度は、0 ~ 65535(両端を含む)の整数です。 小さい整数が高い優先度を示します。メッセージが 2 つのメッセージ クラスの式を検証する場合、優先度の低い値を持つメッセージのみがトリガーされます。
新しいメッセージ クラス を作成するには、[Message Class Expression] フィールドに有効な SpEL 式を入力して、優先度を設定します。
['CREATE'] [button] をクリックして変更を保存します。新しいメッセージ クラスが正常に作成されると、確認メッセージが表示されます。
ソース メッセージ クラス式のテスト
ソース メッセージ クラスを作成する前に、ソース メッセージ クラス式を試してテストできます。
REST
POST /configuration/v1/message-classes:test
{
"expression": "SPEL_EXPRESSION",
"testMessage": "TEST_MESSAGE"
}
次のように置き換えます。
SPEL_EXPRESSION: メッセージ クラスを定義する SpEL 式。TEST_MESSAGE: テストソース メッセージ オブジェクト。
戻りオブジェクトは、指定された式が構文的に正しいかどうか、指定されたメッセージに対して true または false
と評価されるかどうかを示します。
コンソール
UI には、テスト メッセージを使用して新しいメッセージ クラスの SpEL 式をテストするオプションがあります。
- ['Test Message'] ボックスに
サンプル
JSONメッセージを入力します。 - ['RUN TEST'] をクリックして検証を実行します。テストの結果は、['Matched'] または ['Not matched'] の結果と、一致条件の簡単な説明です。

すべてのアクティブなメッセージ クラスに対してテスト メッセージを評価する
メッセージを評価して、アクティブなソース メッセージ クラスのセットに対してテスト メッセージがどのソース メッセージ クラスに分類されるかを判断できます。
REST
POST /configuration/v1/message-classes:evaluate
{
"testMessage": "TEST_MESSAGE"
}
次のように置き換えます。
TEST_MESSAGEは、テストソース メッセージ オブジェクトに置き換えます。
戻りオブジェクトは、指定されたメッセージに対して一致したソース メッセージ クラスがあるかどうかを示します。