タイプに変換を追加する

このガイドでは、Manufacturing Data Engine(MDE)の特定のタイプに変換を追加する方法について説明します。

変換を選択する

MDE では、いくつかの変換を使用できます。デフォルト構成パッケージ には、そのデフォルト構成パッケージで使用可能な任意のタイプに関連付けることができる 2 つの変換が用意されています。

  • グループ イベント変更 変換: この 変換 は、タグまたはタグのグループ内の任意のフィールドをモニタリングし、モニタリング対象の値がこれらのタグのいずれかで変更されるたびにイベントを生成します。この変換は、任意の アーキタイプ のタイプに関連付けることができます。
  • ウィンドウ処理 変換: この 変換 は、タイプのすべてのタグに ウィンドウ処理 関数を適用します。ウィンドウ処理 とは、一定期間にわたる複数のレコードを 1 つのレコードに集計することです。ウィンドウ処理変換 は、任意のアーキタイプの任意のタイプに関連付けることができます。タグのレコードを 1 分から 60 分で集計できます。変換 の結果は、選択した期間の Value 式の集計値を含む未加工のメッセージです。

デフォルト構成パッケージには、これらの 2 つの変換によって出力される未加工のメッセージを処理するために必要なメッセージ クラス、パーサー、タイプが用意されています。各 変換 によって生成された未加工のメッセージを処理するために提供される 2 つのタイプは次のとおりです。

  • group-event-change-records: グループ イベント変更変換の出力メッセージの宛先タイプ。
  • window-transformation-records: ウィンドウ処理変換の出力メッセージの宛先タイプ。

変換を有効にするには、タイプ ウェブ インターフェースで指定した変換を 選択するか、 Configuration API エンドポイントを使用してタイプに関連付ける必要があります。

使用可能な変換を一覧表示する

MDE システムで使用可能な変換のリストを確認する手順は次のとおりです。

REST

使用可能な変換を一覧表示するための専用の 構成マネージャー API エンドポイントがあります。

GET /configuration/v1/transformations

使用可能な 変換 とその機能を含む次の JSON が返されます。

{
  "transformations": [
    {
      "name": "eventChange",
      "displayName": "MDE Event Change",
      "description": "Monitors the value of one or more tag that has a common group key. Fires an event whenever any of the contributing tags changes its value",
      "disabled": false,
      "sample": {
        "keyExpression": {
          "displayName": "Key Expression",
          "description": "A SpEL expression that extracts the group key from the MDE message.proto which groups one or more tags as one unit whose values will be monitored for a change. The key must evaluate to a string",
          "value": "#message['tagName']"
        },
        "valueExpression": {
          "displayName": "Value Expression",
          "description": "A SpEL expression that extracts the value from the MDE message.proto to be monitored for a change. The value must evaluate to a string",
          "value": "#message['data']['numeric'].toString()"
        }
      }
    },
    {
      "name": "window",
      "displayName": "MDE Numeric Value Windowing",
      "description": "Create a periodic stats event that provides values such as average, min, and max for an expression that extracts a numeric value from the tag messages",
      "disabled": false,
      "sample": {
        "durationMinutes": {
          "displayName": "Window Duration in Minutes",
          "description": "A positive integer that represents how long the window will summarize events before producing the summary tag, this is in the granularity of minutes and it cannot be higher than 2 hours",
          "value": "1"
        },
        "valueExpression": {
          "displayName": "Value Expression",
          "description": "A SpEL expression that extracts the value from the MDE message.proto to be used as the numeric value of the tags that will be summarized. The value must evaluate to a number, and it's internally out",
          "value": "#message['data']['numeric']"
        },
        "id": {
          "displayName": "Window Unique ID",
          "description": "A unique ID that represents this instance of the window transformation, this should be unique if you are adding multiple instances of the window transformation to the same type",
          "value": "1-min-window"
        }
      }
    }
  ]
}

コンソール

ウェブ インターフェースを使用して、[タイプ] セクションで、[タイプ バージョンを編集] メニューを特定のタイプに対して開き、パネルの [変換と接続] セクションを開きます。

変換リスト

変換をタイプに関連付ける

既存のタイプを使用可能な 変換に関連付けると、そのタイプのすべてのタグが変換されます。変換の結果は、 変換されたタイプ の MDE に新しいタグとして取り込まれます。変換されたタグ名は、元のタグ名と変換の名前から派生した新しい名前になります。

タイプを 変換 に関連付ける手順は次のとおりです。

REST

変換を特定のタイプに関連付けるには、このエンドポイントで PATCH メソッドを呼び出します。

PATCH /configuration/v1/types/TYPE_NAME/versions/VERSION_NUMBER

リクエストの 本文 には、タイプに添付する 変換 のリストと、その 構成パラメータ の値を含める必要があります。

{
    "transformations": [
        {
            "window": {
                "id": "WINDOW_TRANSFORMATION_IDE",
                "durationMinutes": WINDOW_TRANSFORMATION_MINUTES,
                "valueExpression": "VALUE_EXPRESSION_VALUE"
            }
        },
        {
            "eventChange": {
                "keyExpression": "KEY_EXPRESSION_VALUE",
                "valueExpression": "VALUE_EXPRESSION_VALUE"
            }
        }
    ]
}

前のサンプル呼び出しの次の項目を置き換えます。

  • TYPE_NAME: 変更するタイプの名前。
  • VERSION_NUMBER: 変更するタイプのバージョン。

ウィンドウ変換を構成するための 本文 の次の項目を置き換えます。

  • WINDOW_TRANSFORMATION_ID: 変換の一意の識別子。変換によって処理された後、元のタグ名にも添付されます。
  • WINDOW_TRANSFORMATION_MINUTES: 適用するウィンドウの期間(分単位)。
  • VALUE_EXPRESSION_VALUE: 値フィールドとしてモニタリングされるタグ proto の要素。数値のデフォルト タグの場合、 #message['data']['numeric'] です。

イベント変更変換を構成するための 本文 の次の項目を置き換えます。

  • KEY_EXPRESSION_VALUE: 一緒にモニタリングするタグをグループ化するために使用されるタグ proto の要素。単一のタグをモニタリングするには、 を使用します。#message['tagName']
  • VALUE_EXPRESSION_VALUE: 値の変更をモニタリングするために使用されるタグ proto の要素。String に解決する必要があります。数値のデフォルト タグの場合、#message['data']['numeric'].toString() です。

コンソール

  1. 変換 をタイプに関連付けるには、[タイプ バージョンを編集] ウェブ インターフェース セクションを [タイプ] タブで開きます。

  2. [変換と接続] セクションを開きます。

    変換リスト

  3. [変換] を追加するには、リストから必要な変換を選択して [**追加**] をクリックします。

    変換の追加

  4. 必要なパラメータを入力して [保存] をクリックします。

    変換パラメータ

ウィンドウ変換 のパラメータは次のとおりです。

  • WINDOW_TRANSFORMATION_ID: 変換の一意の識別子。変換によって処理された後、元のタグ名にも添付されます。
  • WINDOW_TRANSFORMATION_MINUTES: 適用するウィンドウの期間(分単位)。
  • VALUE_EXPRESSION_VALUE: 値フィールドとしてモニタリングされるタグ proto の要素。数値のデフォルト タグの場合、 #message['data']['numeric'] です。

イベント変更変換 のパラメータは次のとおりです。

  • KEY_EXPRESSION_VALUE: 一緒にモニタリングするタグをグループ化するために使用されるタグ proto の要素。単一のタグをモニタリングするには、 を使用します。#message['tagName']
  • VALUE_EXPRESSION_VALUE: 値の変更をモニタリングするために使用されるタグ proto の要素。String に解決する必要があります。数値のデフォルト タグの場合、#message['data']['numeric'].toString() です。