ForEach アクティビティを使用してデータを変換する

ForEach アクティビティは、Microsoft Fabric パイプライン内の繰り返し制御フローを定義します。 このアクティビティは、コレクションを反復処理するために使用され、指定されたアクティビティをループで実行します。 このアクティビティのループの実装は、プログラミング言語の ForEach ループ構造と同様のものです。

ForEach アクティビティをパイプラインに追加する

このセクションでは、パイプラインで ForEach アクティビティを使用する方法について説明します。

前提条件

開始するには、次の前提条件を満たしている必要があります。

アクティビティの作成

  1. ワークスペースに新しいパイプラインを作成します。

  2. パイプラインの [アクティビティ] ペイン内で ForEach を検索し、それを選択してパイプライン キャンバスに追加します。 最初にこれが表示されない場合は、アクティビティ ツール バーの右側にある矢印を使用して右にスクロールしてこれを見つけます。

    Screenshot of the Fabric UI with the Activities pane and ForEach activity highlighted.

  3. まだ選択されていない場合は、キャンバスで新しい ForEach アクティビティを選択します。

    Screenshot showing the General settings tab of the ForEach activity.

  4. キャンバスの下部にある [全般] タブで、名前プロパティにアクティビティの名前を入力します。

  5. (省略可) 説明を入力することもできます。

ForEach 設定

[設定] タブを選択します。ここではバッチ内のアイテムの処理がシーケンシャルに行われるかどうかを指定できます (指定しないと並列処理になります)。 バッチ数で同時に処理するアイテムの最大数を指定することもできます。 最後に、パラメーター化されたり動的コンテンツを含むことができるコンマ区切りアイテムのリストを指定する必要があります。 例に示すように、いくつかのアイテムを [アイテム] リストに追加します。

Screenshot showing the ForEach settings tab with several items added to the Items list.

ForEach アクティビティ

また、ForEach の [アクティビティ] ペインで、リスト内の各アイテムに対して実行されるアクティビティ (複数も可) の定義も行います。

Screenshot showing the ForEach activities pane.

+ ボタンを選択してペインに新しいアクティビティを追加します。 選択可能なアクティビティのリストが表示されます。 ForEach アクティビティに複数のアクティビティを追加することが可能で、それぞれが [アイテム] リスト内の各アイテムで実行されます。 ForEach 設定でシーケンシャル オプションが選択されているかどうかに関係なく、[ForEach アクティビティ] ペインの子アクティビティのそれぞれは、アイテムごとに順番に処理されます。 ただし、シーケンシャルが選択されていない場合は、複数のアイテムが並列に処理され、アイテムのそれぞれが指定された子アクティビティのリストを順番に実行していきます。

Screenshot showing a ForEach activity with multiple child activities specified, and the + button highlighted showing a list of child activities to choose from when adding new activities to the pane.

アクティビティ内のアイテムの参照

ForEach の [アクティビティ] ペインで子アクティビティの 1 つを選択し、その [設定] タブに切り替えます。この例では、ストアド プロシージャ アクティビティが選択されました。 通常時に接続とストアド プロシージャを選択する場合と同様に、アクティビティの設定を設定します。 @item() 反復子を使用して、動的コンテンツをサポートするアクティビティ内の任意の場所で現在処理中のアイテムを参照できます。 ここでは、@item() はストアド プロシージャに渡される FruitName パラメーターの値として使用されました。

Screenshot showing a stored procedure child activity with a parameter using the current @item() from the ForEach items list for its value.