ヘルパーフロー
ヘルパーフローは、アプリケーションのイベント主導やAPI Endpointフローなど、親フローをより効率的に管理・実行するために使用されます。
Workflowsインターフェイスの従来の子フローは、新たにヘルパーフローと呼ばれるようになりました。これらのフローの機能は変更されていません。
ヘルパーフローは、いくつかのシナリオで有用です。
-
単一のフローまたは複数のフローで一連のステップを複数回再利用する。その一連のステップを独自のヘルパー フローに移動することで、複数回呼び出すことができる1つのフローを作成するだけで済みます。Call Flow関数またはCall Flow Asyn関数を使用することにより、他のフローからこのステップを実行します。
-
リストのアイテムを1つずつ処理する。たとえば、For Each関数を使用して、各リストアイテムに対して一連の手順を実行できます。または、Map関数を使用して、リストを新しいリストに変換できます。
-
大きなフローをより小さく、より管理しやすい単位に分割する。
リスト関数とヘルパーフローを併用する
ヘルパーフローは、リスト内の個々の項目を処理できるため、リスト関数に役立ちます。
ヘルパーフローには、以下を含めることができます。
-
リストのアイテムのタイプに対応する入力
-
各アイテムのタスクを実行する関数
-
戻り値(Controlカテゴリ)。
たとえば、オブジェクトをオブジェクトのリストに変換することで、キーと値の各ペアを、propertynameキーとpropertyvalueキーを持つオブジェクトに変換できます。このパターンはクラウド APIの間で一般的です。ここで、propertyname文字列の前にcustom:テキスト文字列を付けます。これは、ヘルパーフローを使用して行えます。ヘルパーフローは、key、value、一定のprefixを受け付けます。一定のprefexはすべてのステップで同じもので、親フローがこれを渡します。ヘルパーフローは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"
}
]
ヘルパーフローの出力
それぞれのヘルパーフロー カードには、次の出力があります。
フィールド | 定義 |
---|---|
Inputs to this Flow(このフローへの入力) | [Click or drag to create(クリックまたはドラッグして作成)]オプションを使用して、カスタムフィールドを追加します。それぞれの名前とデータ型(テキストや数値など)を指定します。作成する各カスタムフィールドは、ヘルパーフローを呼び出すフローから予測される入力に対応します。 |
context | このセクションの出力には、フローが実行されるごとに値が自動的に割り当てられます。 |
Index(インデックス) | この数値出力には、リストの項目をループする関数 (For Each関数やMap関数など)がヘルパーフローを呼び出すときに値が割り当てられます。Index(インデックス)の値は、フローのこのインスタンスで処理されるアイテムの、リスト内での位置に対応します(0から開始)。 |
Caller |
Caller(呼び出し)オブジェクトのキーは次のことを示しています。
ヘルパーフローが手動で実行された場合、idとexecution_idはnullです。これは、デバッグのため特に便利です。 |
Error(エラー) |
このオブジェクト出力には、フローがエラー処理用に呼び出されるとき値が割り当てられます。「フローにおけるカードのエラー処理の設定」を参照してください。
Error(エラー)の値は、エラーを引き起こしたアプリケーションまたはアクションから返された、元のエラーオブジェクトに対応します。 たとえば、ほとんどの場合オブジェクトにはmessage、statusCode、executionを含むキーがあります。最後のキーは、エラーの原因となったフロー実行の一意の識別子です。その後、それを使用してエラーの原因となったフローの詳細を示す実行履歴を指すURLを作成できます。 |
Execution ID(実行ID) | フローインスタンスの一意のID。 |