4.11. テンプレートステップの追加
フローでは、テンプレートステップはソースからデータを取得し、Fuse Online にアップロードするテンプレートで定義された形式に挿入します。テンプレートステップの利点は、指定した一貫性のある形式でデータの出力を提供できることです。
テンプレートでは、プレースホルダーを定義して静的テキストを指定します。フローの作成時に、テンプレートステップを追加してソースフィールドをテンプレートプレースホルダーにマップし、テンプレートコンテンツをフローの次のステップにマップします。Fuse Online がフローを実行するとき、マップされたソースフィールドにある値がテンプレートのインスタンスに挿入されるため、フローの次のステップで利用できるようになります。
フローにテンプレートステップが含まれる場合、そのフローの唯一のテンプレートステップとなる可能性が高くなります。ただし、フローに複数のテンプレートステップを含めることも可能です。
Fuse Online は、Freemarker、Mustache、および Velocity のテンプレートをサポートします。
前提条件
- フローを作成または編集する必要があります。
- シンプルなインテグレーションを作成する場合は、すでに最初と最後のコネクションがある必要があります。
手順
- フロービジュアライゼーションのテンプレートステップを追加する場所で をクリックします。
- Template をクリックします。Upload Template ページが開きます。
- Freemarker、Mustache、または Velocity をテンプレートタイプとして指定します。
テンプレートを定義するには、以下のいずれかを行います。
- テンプレートファイルまたはテンプレートを作成するために編集するテキストが含まれるファイルを、テンプレートエディターにドラグアンドドロップします。
- browse to upload をクリックしてファイルを選択し、アップロードします。
- テンプレートエディターで、テンプレートを定義します。
- テンプレートエディターでは、テンプレートが Fuse Online で使用できるようにしてください。有効なテンプレートの例は、この手順の後に記載されています。Fuse Online では、構文エラーが含まれる行の左側に が表示されます。構文エラーインジケーターにマウスオーバーすると、エラーを解決するためのヒントが表示されます。
Done をクリックして、フローにテンプレートステップを追加します。
Done ボタンが有効でない場合は、修正する必要のある構文エラーが 1 つ以上存在します。
テンプレートステップへの入力は、JSON オブジェクトの形式である必要があります。そのため、データマッピングステップをテンプレートステップの前に追加する必要があります。
テンプレートステップの前にデータマッパーステップを追加するには、以下を行います。
- フロービジュアライゼーションで、先ほど追加したテンプレートステップの直前にある をクリックします。
- Data Mapper をクリックします。
データマッパーで、ソースフィールドを各テンプレートプレースホルダーフィールドにマップします。
たとえば、この手順の後に記載されているテンプレート例を使用して、ソースフィールドを以下のテンプレートフィールドにマップします。
-
time
-
name
-
text
-
- 右上の Done をクリックし、データマッパーステップをフローに追加します。
テンプレートステップからの出力は常に JSON オブジェクトになります。そのため、テンプレートステップの後にデータマッパーステップを追加する必要があります。
テンプレートステップの後にデータマッパーステップを追加するには、以下を行います。
- フロービジュアライゼーションで、先ほど追加したテンプレートステップの直後にある をクリックします。
- Data Mapper をクリックします。
- データマッパーで、テンプレートの message フィールドをターゲットフィールドにマップします。message フィールドには常にソースフィールドをテンプレートに挿入した結果が含まれます。たとえば、フローの次のコネクションが Gmail コネクションで、テンプレートステップの結果を Gmail メッセージの内容として送信するとします。これには、message ソースフィールドを text ターゲットフィールドにマップします。
- 右上の Done をクリックします。
テンプレートの例
Mustache テンプレートの例:
At {{time}}, {{name}} tweeted: {{text}}
Freemarker および Velocity では、以下のテンプレート例がサポートされます。
At ${time}, ${name} tweeted: ${text}
Velocity では、以下の例のようにかっこを使用しない構文もサポートされます。
At $time, $name tweeted: $text
プレースホルダーに .
(ピリオド) を使用することはできません。
その他のリソース
フィールドのマッピングに関する詳細は、インテグレーションデータを次のコネクションのフィールドにマッピング を参照してください。