Transform カードを使用したマッピングの例 (Flow Designer):page-support-status: eolScheduled

チュートリアル​「Flow Designer での最初の Mule アプリケーションの作成」​の手順を実行したユーザは、すでに 2 回のマッピングを行っています。この両方のマッピングをもう一度見てみましょう。

最初の例

初回は、Choice カードの出力を、NTO Order API で必要とされる入力にマップする必要がありました。

Table 1. Choice カードで出力されるデータ型と NTO Order API で必要とされるデータ型
Choice カードで出力されるデータ型 NTO Order API で入力として必要とされるデータ型
Product Information (製品情報) データ型
[
  {
    "productID": string,
    "category": string,
    "SKU": string,
    "productName": string,
    "inventory": string
  }
]
Salesforce Opportunity (Salesforce 商談) データ型
{
  "Amount": number,
  "Id": string,
  "CloseDate": string,
  "Name": string
}
Order Information (注文情報) データ型
{
  "OppId": string,
  "OrderAmount": number,
  "orderdate": string,
  "productInfo": {
     "productID": string,
     "category": string,
     "SKU": string,
     "productName": string,
     "inventory": number
     }
}

マッピングを行うため、Transform カードを使用して、​[Input (入力)]​ 側の要素をクリックして ​[Output (出力)]​ 側の要素にドラッグしました。(Transform カードの「入力」と「出力」は Transform カード自体を基準とする相対的な用語です。Transform カードへの「入力」は Choice カードの出力であり、Transform カードの「出力」は Order API への入力です)。

transform first final
Figure 1. Choice カードの出力を、API で必要とされる入力にマップする Transform カード

Order API (POST メッセージの送信先の REST API) は Choice カードの出力に含まれる一部のデータを必要としなかったため、マッピングを行う必要がありました。また、API で必要とされるデータの一部の要素の名前が、Choice カードの出力内の対応する要素とは異っていました。

Table 2. Choice カードのデータを Order API のデータにマッピングするための要件
Choice カードの要素 マップ先の Order API の要素

productID

productID

category

category

SKU

SKU

productName

productName

inventory

inventory

Amount

OrderAmount

Id

OppId

CloseDate

orderDate

2 番目の例

チュートリアルの 2 回目のマッピングでは、Twilio カードの入力に対してデータ型を明示的に設定する必要はありませんでした。Twilio カードで必要とされるデータ構造を Transform カードで判別することができました。また、データ要素もマップしませんでした。代わりに、Transform カードの出力で DataWeave スクリプトを使用して、Transform カードの入力から、顧客に送信するメッセージにデータを取り込みました。また、​To​ および ​From​ 項目の値を特定の電話番号に明示的に設定しました。これは、Transform カードの ​[Script (スクリプト)]​ ペインで確認できます。

transform second script panel
Figure 2. Transformation カードへの入力のデータを使用する DataWeave スクリプトと、​To​ および ​From​ 項目の電話番号が示されている Transform カードの ​[Script (スクリプト)]​ ペイン

[Mappings (マッピング)]​ ペインには次のビューが表示されました。

transform second mappings panel
Figure 3. マッピングのビューが表示されている Transform カードの ​[Mappings (マッピング)]​ ペイン

出力ペイロードの 3 つの項目に付けられた ​f(x)​ マーカーは、これらの項目に、文字列または DataWeave 式を介して提供された値が入力されていることを示します。入力ペイロードの ​OrderID​、​TrackingNo​、および ​ETA​ が出力ペイロードの ​Body​ にすべてマップされています。これは、​Body​ のスクリプトがこの 3 つのペイロード要素を参照するためです。