他のフローへのメタデータの伝播

Studio では、ソースフローのメタデータを、アプリケーション内で参照される他の対象フローに伝播できます。対象フローにすでに含まれているメタデータによっては、特定のメタデータをソースフローから伝播するように設定することが必要になる場合があります。

カスタムメタデータのないフローへのメタデータの伝播

Flow Reference コンポーネントをソースフローに追加し、カスタムメタデータが設定されていない対象フローを参照すると、Studio はソースフローのメタデータをカスタムメタデータとして対象フローに自動的に伝播します。

  1. Anypoint Studio 画面の上部にあるタスクバーで、​[File (ファイル)]​ > ​[New (新規)]​ > ​[Mule Project (Mule プロジェクト)]​ を選択します。

  2. 新しいプロジェクトの名前を入力して、​[Finish (完了)]​ を選択します。

  3. 2 つのフローコンポーネントを空のキャンバスにドラッグして、​flow-1​ および ​flow-2​ という名前を付けます。

    both flows metadata
  4. [Set Payload] コンポーネントを ​flow-1​ にドラッグして、ペイロードを設定します。

    {
      "value": {
        "ID": 1,
        "departureDate": "2016/12/20",
        "emptySeats": 200,
        "plane": {
          "type": "Boeing 747",
          "totalSeats": 400
        }
      }
    }
    JSON
    set payload config
  5. [Logger] コンポーネントを ​flow-2​ にドラッグして、​payload​ を記録するように設定します。

    logger payload metadata
  6. [Flow Reference] コンポーネントを ​flow-1​ の最後にドラッグして、​`flow-2`​ を参照するように設定します。

    flow reference metadata
  7. flow-2​ のメタデータタブには自動生成されたメタデータが入力され、メタデータエクスプローラーの入力タブには、​flow-1​ で Set Payload コンポーネントで決定されたペイロード形式が反映されます。

    logger metadata case 1

操作をフローから新しいフローに抽出するときのメタデータの伝播

操作をソースフローから抽出して新しい対象フローまたはサブフローに伝播する場合、Studio では、新しく作成したフローに伝播する必要があるメタデータを設定できます。

  1. Anypoint Studio 画面の上部にあるタスクバーで、​[File (ファイル)]​ > ​[New (新規)]​ > ​[Mule Project (Mule プロジェクト)]​ を選択します。

  2. 新しいプロジェクトの名前を入力して、​[Finish (完了)]​ を選択します。

  3. フローコンポーネントを空のキャンバスにドラッグして、および ​flow-1​ という名前を付けます。

  4. [Set Payload] コンポーネントを ​flow-1​ にドラッグして、ペイロードを設定します。

    {
      "value": {
        "ID": 1,
        "departureDate": "2016/12/20",
        "emptySeats": 200,
        "plane": {
          "type": "Boeing 747",
          "totalSeats": 400
        }
      }
    }
    JSON
    set payload flow 1
  5. [Logger] コンポーネントを ​flow-1​ の最後にドラッグして、​#[payload.value.departureDate]​ を記録するように設定します。

    logger metadata case 2
  6. [Logger] コンポーネントを右クリックして、​[Extract To…​ (抽出先…​)]​ > ​[Flow (フロー)]​ を選択します。

    extract operation metadata
  7. 対象フローに ​flow-2​ という名前を付けます。

  8. [Metadata Preferences (メタデータプリファレンス)]​ を選択して、入力および出力メタデータを設定します。
    Studio はフローのメタデータを自動的に認識します。

    extract flow metadata
  9. [OK]​ を選択します。

  10. flow-2​ に Logger コンポーネントが含まれ、メタデータタブには自動生成されたメタデータが入力され、メタデータエクスプローラーの入力タブには、​flow-1​ で Set Payload コンポーネントで設定されたペイロード形式が反映されます。

    extract flow metadata final

すでにカスタムメタデータが設定されているフローへのメタデータの伝播

Flow Reference コンポーネントをソースフローに追加し、すでにカスタムメタデータが設定されている別の対象フローを参照すると、伝播するメタデータを選択するように要求するメッセージが表示されます。

  1. Anypoint Studio 画面の上部にあるタスクバーで、​[File (ファイル)]​ > ​[New (新規)]​ > ​[Mule Project (Mule プロジェクト)]​ を選択します。

  2. 新しいプロジェクトの名前を入力して、​[Finish (完了)]​ を選択します。

  3. 2 つのフローコンポーネントを空のキャンバスにドラッグして、​flow-1​ および ​flow-2​ という名前を付けます。

    both flows metadata
  4. [Set Payload] コンポーネントを ​flow-1​ にドラッグして、ペイロードを設定します。

    {
      "value": {
        "ID": 1,
        "departureDate": "2016/12/20",
        "emptySeats": 200,
        "plane": {
          "type": "Boeing 747",
          "totalSeats": 400
        }
      }
    }
    JSON
    set payload config
  5. `arrival-type-example.json`​ という名前の JSON ファイルを次の形式で ​src/main/resources/examples​ ディレクトリに作成します。

    arrival-type-example.json
    {
      "value": {
        "ID": 1,
        "arrivalDate": "2016/12/20",
        "plane": {
          "type": "Boeing 747",
          "totalSeats": 400
        }
      }
    }
    JSON
  6. flow-2​ > ​[Metadata (メタデータ)]​ タブ > ​[Add Metadata (メタデータを追加)]​ を選択します。

    add metadata flow 2
  7. [Input: Payload (入力: ペイロード)]​ > ​[Edit (編集)]​ を選択します。

    configure input metadata
  8. [Add (追加)]​ を選択し、​`arrivalType`​ という新しいメタデータ型を作成して、​[Create type (種別を作成)]​ を選択します。

    create metadata type
  9. 種別 ​[JSON]​ > ​[Example (例)]​ を選択し、​[…​]​ ボタンを選択して ​src/main/resources/examples/arrival-type-example.json​ を参照します。

    create json metadata type
  10. [Select (選択)]​ をクリックします。

  11. [Logger] コンポーネントを ​flow-2​ にドラッグして、​payload​ を記録するように設定します。

    logger payload metadata
  12. [Flow Reference] コンポーネントを ​flow-1​ の最後にドラッグして、​`flow-2`​ を参照するように設定します。

    flow reference metadata
  13. Flow Reference コンポーネントの ​[Metadata (メタデータ)]​ タブを選択し、​[Set Metadata (メタデータを設定)]​ を選択します。

    set metadata example

    flow-1​ からメタデータを設定すると ​flow-2​ で設定されている既存の ​arrivalType​ メタデータ型が上書きされることが警告されます。

    overwrite metadata
  14. [Customize (カスタマイズ)]​ を選択して、目的のメタデータをフローに伝播するように設定します。

    Studio は実際のメタデータとして ​flow-1​ で設定されたメタデータを認識し、予想されるメタデータとして ​flow-2​ で設定されたメタデータを認識します。

    custom metadata configure overwrite

    伝播する特定のメタデータセットを定義する必要がある場合は、参照先フローの実際のメタデータと予想されるメタデータをカスタマイズすることが役立ちます。