フロー間のメタデータの伝播

Flow Reference コンポーネントを使用して別のフローを参照するときにフローのメタデータを参照先のフローのカスタムメタデータとして設定できるように、Anypoint Studio 7.12 ではフローのメタデータが推定されます。

Anypoint Studio で Flow Reference コンポーネントを使用すると、手動ではなく自動的にフローのメタデータを参照先のフローに伝播することができます。

Studio を使用して RAML 仕様に基づいてフローをスキャフォールディングする場合、Studio では RAML 仕様の型に基づいてフローのメタデータが推定されます。ただし、Union (結合) 型はサポートされないため、Union (結合) 型の値がメタデータとして推定されません。

たとえば、Set Payload コンポーネントを使用して JSON ペイロードを作成する ​flow-1​ という名前のフローを考えてみます。

実際のメタデータのサンプル
{
  "value": {
    "ID": 1,
    "departureDate": "2016/12/20",
    "emptySeats": 200,
    "plane": {
      "type": "Boeing 747",
      "totalSeats": 400
    }
  }
}
JSON

Flow Reference コンポーネントを 2 番目のフロー (​flow-2​) に追加すると、Studio は ​flow-1​ のメタデータを実際のメタデータとして検出し、参照先のフローはそのメタデータを受け取って ​flow-2​ のカスタムメタデータとして自動的に割り当てます (このカスタムメタデータがフローでまだ宣言されていない場合)。

flow-2​ のメタデータはすでに設定されているため、​flow-1​ のメタデータが変更されても、自動的に更新されることはありません。この例では、​flow-1​ で Set Payload コンポーネントの実際のメタデータサンプルを変更するように選択した場合、​flow-2​ のカスタムメタデータを更新する必要があります。

次の JSON の例を使用して ​flow-2​ でカスタムメタデータをすでに設定しているとします。

予想されるメタデータのサンプル
{
  "value": {
    "ID": 1,
    "code": "GQ574",
    "price": 399,
    "departureDate": "2016/12/20",
    "origin": "ORD",
    "destination": "SFO",
    "emptySeats": 200,
    "plane": {
      "type": "Boeing 747",
      "totalSeats": 400
    }
  }
}
JSON

Studio は、​flow-2​ のカスタムメタデータを参照先フローで予想されるメタデータとみなし、​flow-1​ で Set Payload コンポーネントにより設定されたメタデータをその実際のメタデータとみなします。予想されるメタデータを実際のメタデータで上書きするか、上書きするメタデータと保持するメタデータを選択するようにカスタマイズすることができます。