ヘルパーフロー

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

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

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

  • 単一のフローまたは複数のフローで一連のステップを複数回再利用する。その一連のステップを独自のヘルパー フローに移動することで、複数回呼び出すことができる1つのフローを作成するだけで済みます。Call Flow関数またはCall Flow Asyn関数を使用することにより、他のフローからこのステップを実行します。

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

  • 大きなフローをより小さく、より管理しやすい単位に分割する。

リスト関数とヘルパーフローを併用する

ヘルパーフローは、リスト内の個々の項目を処理できるため、リスト関数に役立ちます。

ヘルパーフローには、以下を含めることができます。

  • リストのアイテムのタイプに対応する入力

  • 各アイテムのタスクを実行する関数

  • 戻り値(Controlカテゴリ)。

たとえば、オブジェクトをオブジェクトのリストに変換することで、キーと値の各ペアを、propertynameキーとpropertyvalueキーを持つオブジェクトに変換できます。このパターンはクラウド APIの間で一般的です。ここで、propertyname文字列の前にcustom:テキスト文字列を付けます。これは、ヘルパーフローを使用して行えます。ヘルパーフローは、keyvalue、一定の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(呼び出し)オブジェクトのキーは次のことを示しています。

  • どのフローがヘルパーフローを呼び出したか(IDname(名前)
  • フローのどの実行が呼び出しを行ったか(execution_id
  • フローのどのステップが呼び出されたか( 一意のIDであるmethod(メソッド)

ヘルパーフローが手動で実行された場合、idexecution_idはnullです。これは、デバッグのため特に便利です。

Error(エラー) このオブジェクト出力には、フローがエラー処理用に呼び出されるとき値が割り当てられます。「フローにおけるカードのエラー処理の設定」を参照してください。

Error(エラー)の値は、エラーを引き起こしたアプリケーションまたはアクションから返された、元のエラーオブジェクトに対応します。

たとえば、ほとんどの場合オブジェクトにはmessagestatusCodeexecutionを含むキーがあります。最後のキーは、エラーの原因となったフロー実行の一意の識別子です。その後、それを使用してエラーの原因となったフローの詳細を示す実行履歴を指すURLを作成できます。

Execution ID(実行ID) フローインスタンスの一意のID。