

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 条件ノードを使用してフローを作成する
<a name="flows-ex-condition"></a>

次の図は、1 つの条件ノードが、満たされた条件に基づいて 3 つの可能な値のいずれかを返すフローを示しています。

![2 つの条件を持つ条件ノードを使用する例。](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/images/flows/flows-condition.png)


**コンソールでこのフローを構築してテストするには:**

1. 「[Amazon Bedrock で最初のフローを作成する](flows-get-started.md)」の手順に従ってフローを作成します。

1. 中央のペインの**プロンプト**ノードを削除します。

1. 以下を実行して、条件ノードを設定します。

   1. **[フロービルダー]** の左ペインから、**[ノード]** タブを選択します。

   1. **[条件]** ノードを中央ペインのフローにドラッグします。

   1. **[フロービルダー]** ペインで **[設定]** タブを選択します。

   1. **[入力]** セクションを展開します。以下のように入力を設定します。  
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/flows-ex-condition.html)

      この設定は、条件ノードが、フィールド `retailPrice`、`marketPrice`、`type` を含んでいる JSON オブジェクトを期待することを意味します。

   1. 以下を実行して条件を設定します。

      1. **[条件]** セクションで、オプションで条件の名前を変更します。次に、**[条件]** テキストボックスに次の条件を追加します: **(retailPrice > 10) and (type == "produce")**

      1. **[条件を追加]** を選択して、2 番目の条件を追加します。オプションで、2 番目の条件の名前を変更します。次に、**[条件]** テキストボックスに次の条件を追加します: **(retailPrice < marketPrice)**

1. **フロー入力**ノードを選択し、**[設定]** タブを選択します。**[タイプ]** で **[オブジェクト]** を選択します。これは、フロー呼び出しが JSON オブジェクトを受け取ることを期待することを意味します。

1. 総ノード数が 3 になるようにフロー出力ノードを追加します。各フロー出力ノードの **[フロービルダー]** ペインの **[設定]** タブで、次のように設定します。

   1. 最初のフロー出力ノードの入力型を **String** に設定し、式を **$.data.action[0]** に設定して、受信オブジェクトの `action` フィールドの配列内の最初の値を返します。

   1. 2 番目のフロー出力ノードの入力型を **String** に設定し、式を **$.data.action[1]** に設定して、受信オブジェクトの `action` フィールドの配列内の 2 番目の値を返します。

   1. 3 番目のフロー出力ノードの入力型を **String** に設定し、式を **$.data.action[2]** に設定して、受信オブジェクトの `action` フィールドの配列内の 3 番目の値を返します。

1. 最初の条件を最初のフロー出力ノードに接続し、2 番目の条件を 2 番目のフロー出力ノードに接続して、デフォルトの条件を 3 番目のフロー出力ノードに接続します。

1. すべてのノードの入力と出力を接続し、次の手順を実行してフローを完了します。

   1. **フロー入力**ノードの出力ノードから条件ノードの **retailPrice** 入力に接続をドラッグします。

   1. **フロー入力**ノードの出力ノードから条件ノードの **marketPrice** 入力に接続をドラッグします。

   1. **フロー入力**ノードの出力ノードから条件ノードの **type** 入力に接続をドラッグします。

   1. **フロー入力**ノードの出力から 3 つの出力ノードそれぞれの **document** 入力に接続をドラッグします。

1. **[保存]** を選択して、フローを保存します。これで、フローをテストする準備が整いました。

1. 右側の **[フローをテスト]** ペインに次の JSON オブジェクトを入力してフローをテストします。入力ごとに **[実行]** を選択します。

   1. 次のオブジェクトは、最初の条件 (`retailPrice` が 10 より大きく、`type` が "produce") を満たしており、`action` の最初の値 ("don't buy") を返します。

      ```
      {
          "retailPrice": 11, 
          "marketPrice": 12, 
          "type": "produce", 
          "action": ["don't buy", "buy", "undecided"]
      }
      ```
**注記**  
最初の条件と 2 番目の条件の両方を満たしていても、最初の条件が優先されます。

   1. 次のオブジェクトは 2 番目の条件 (`retailPrice` が `marketPrice` より小さい) を満たしており、`action` の 2 番目の値 ("buy") を返します。

      ```
      {
          "retailPrice": 11, 
          "marketPrice": 12, 
          "type": "meat", 
          "action": ["don't buy", "buy", "undecided"]
      }
      ```

   1. 次のオブジェクトは、最初の条件 (`retailPrice` が 10 より大きいが、`type` は "produce"ではない) も 2 番目の条件 (`retailPrice` が `marketPrice` より小さい) も満たしていないため、`action` の 3 番目の値 ("undecided") が返されます。

      ```
      {
          "retailPrice": 11, 
          "marketPrice": 11, 
          "type": "meat", 
          "action": ["don't buy", "buy", "undecided"]
      }
      ```