ヘルパーフローについて

ヘルパーフローは、アプリケーションのイベント主導やAPI Endpointフローなど、親フローをより効率的に管理および実行するために使用されます。

Workflowsインターフェイスの従来の子フローは、新たにヘルパーフローと呼ばれるようになりました。これらのフローの機能は変更されていません。

ヘルパーフローは、いくつかのシナリオで有用です。

  • 単一のフロー内で何回も使用される、または複数のフローで使用される一連のステップが存在する。この一連のステップをそれ自体の「子フロー」に移行することにより、一度だけこのステップを作成して、繰り返しこれを利用できます。Call Flow関数またはCall Flow Async関数を使用することにより、他のフローからこのステップを実行します。

  • リストのアイテムを1つずつ処理する。たとえば、For Each関数 を使用して各リストアイテムに対し一連のステップを実行したり、Map関数を使用してあるリストを新しいリストに変換したりできます。

  • 単に非常に大きなフローを小さい単位に分割し、管理しやすくすることもできます。

リスト関数とヘルパーフローの併用について

ヘルパーフローを使用すると、リストの各アイテムを確認できるため、リスト関数に役立ちます。これらのヘルパーフローには、リスト内のアイテムの種類に対応する 入力、各アイテムに対しタスクを実行する 関数 、および 結果(制御カテゴリー内に存在)を持たせることができます。

たとえば、オブジェクトをオブジェクトのリストに変換することで、キーと値の各ペアを、propertynameキーとpropertyvalueキーを持つオブジェクトに変換できます。これは、クラウドAPIで一般的なパターンです。 propertynameには、 custom:というプレフィックスを付ける必要もあります。 これは、ヘルパーフローを使用して行えます。子フローは、キー、 、および不変のプレフィックス(すべてのステップで同じもので、親フローがこれを渡します)を受け付け、2つのキーを持つ1個のオブジェクトを返します。

このフローは、object.mapと併用すると、以下のオブジェクト

{"this":"that","up":"down","left":"right"}

を以下に変換します。

[

{

"propertyname" : "custom:this" ,

"propertyvalue" : "that"

} ,

{

"propertyname" : "custom:up" ,

"propertyvalue" : "down"

} ,

{

"propertyname" : "custom:left" ,

"propertyvalue" : "right"

}

]

ヘルパーフローの出力

それぞれのヘルパーフロー カードには、次の出力があります。

フィールド定義
このフローへの入力[Click or drag to create(クリックまたはドラッグして作成)]をクリックし、カスタムフィールドを追加します。それぞれの名前とデータ型(テキストや数値など)を指定します。作成する各カスタム フィールドは、ヘルパーフローを呼び出すフローから予測される入力に対応します。
contextこのセクションの出力には、フローが実行されるごとに値が自動的に割り当てられます。
Indexこの数値出力には、リストの各アイテムについてループ実行される関数(For Each関数やMap関数など)からフローが呼び出されるときに値が割り当てられます。 Index の値は、フローのこのインスタンスで処理されるアイテムの、リスト内での位置に対応します(0から開始)。
CallerCallerオブジェクトのキーは、ヘルパーフローを呼び出したのがどのフローか(idおよびname)、フローのどの実行で呼び出しが行われたか(execution_id)、フローのどのステップで呼び出しが行われたか(固有IDであるmethod)を示します。ヘルパーフローが手動で実行された場合、idexecution_idはnullです。これは、デバッグのため特に便利です。
エラー このオブジェクト出力には、フローがエラー処理用に呼び出されるとき値が割り当てられます。フローにおけるカードのエラー処理の設定をご覧ください。

Errorの値は、エラーを引き起こしたアプリケーションまたはアクションから返された、元のエラーオブジェクトに対応します。たとえば、オブジェクトには多くの場合「message」、「statusCode」、「execution」を含むキーが存在します(エラーを引き起こしたフロー実行の固有の識別子で、実行履歴のURLを構築し、エラーを引き起こしたフローの詳細を参照するため使用できます)。

Execution IDフローインスタンスの一意の ID