

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

# フロー実行を使用して Amazon Bedrock フローを非同期で実行する
<a name="flows-create-async"></a>

フロー実行では、Amazon Bedrock フローを非同期で実行できます。これにより、フローの実行時間が長くなり、アプリケーションが他のタスクを実行できるように制御することも可能になります。

Amazon Bedrock コンソールまたは [InvokeFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html) オペレーションを使用してフローを実行すると、フローは終了するまで、または 1 時間でタイムアウトするまで (いずれか早い方) 実行されます。フロー実行を実行すると、フローの実行時間がはるかに長くなります。個々のノードは最大 5 分、フロー全体は最大 24 時間実行できます。

**注記**  
フロー実行は Amazon Bedrock のプレビューリリースで行われるため、変更される可能性があります。

## フロー実行を実行するために必要なアクセス許可
<a name="flows-create-async-permissions"></a>
+ Amazon Bedrock Flows サービスロールに、必要なアクセス許可がすべて付与されていることを確認します。詳細については、「[Amazon Bedrock で Amazon Bedrock Flows のサービスロールを作成する](flows-permissions.md)」を参照してください。
+ (オプション) カスタマーマネージド AWS KMS キーを使用してフロー実行データを暗号化します。詳細については、「[Amazon Bedrock Flows リソースの暗号化](encryption-flows.md)」を参照してください。

## フロー実行を作成および管理する
<a name="flows-create-async-how-to"></a>

フロー実行は、コンソールで、または [StartFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StartFlowExecution.html) オペレーションを使用して作成できます。

------
#### [ Console ]

1. 「[Amazon Bedrock でフローを作成および設計する](flows-create.md)」の手順に従ってフローを作成します。

1. 「[Amazon Bedrock でフローのエイリアスを作成する](flows-alias-create.md)」の手順に従って、フローのエイリアスを作成します。

1. **[フロービルダー]** を開いていない場合は、以下を実行します。

   1. Amazon Bedrock コンソールを使用するアクセス許可を持つ IAM ID AWS マネジメントコンソール を使用して にサインインします。Amazon Bedrock コンソール ([https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)) を開きます。

   1. 左側のナビゲーションペインから **[Amazon Bedrock フロー]** を選択し、フローを選択します。

1. **[実行]** タブを選択し、**[実行を作成]** を選択します。

1. **[実行を作成]** ダイアログで、以下を入力します。

   1. **[名前]** にフロー実行の名前を入力します。

   1. **[エイリアスを選択]** で、使用するフローのエイリアスを選択します。

   1. **[プロンプト入力]** に、フローを開始するプロンプトを入力します。

   1. **[作成]** を選択してフロー実行を作成し、その実行を開始します。

1. フローの詳細ページで、**[実行]** タブを選択し、**[実行ステータス]** のフロー実行のステータスを書き留めます。

1. (オプション) 実行を選択してフローを開き、実行の概要を表示します。

   **[実行出力]** に、フローからの出力が表示されます。

1. (オプション) フロー実行を停止するには、実行を選択し、**[停止]** を選択します。

------
#### [ API ]

**フロー実行を開始する**  
フロー実行を実行するには、[Amazon Bedrock エージェントのランタイムエンドポイント](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt)を使用して [StartFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StartFlowExecution.html) リクエストを送信します。リクエストで、実行するフローのフロー ID とフローエイリアス ID を指定します。以下を指定することもできます。
+ **入力** – フローの実行を開始する[入力](flows-nodes.md#flows-nodes-input)ノードを含む配列。`content` フィールドで、プロンプトフロー入力ノードに送信する入力を指定します。
+ **名前** – フロー実行の名前。

```
{
    "inputs": [{
        "nodeName": "FlowInputNode",
        "nodeOutputName": "document",
        "content": {
            "document": "Test"
        }
    }],
    "name": "MyExecution"
}
```

レスポンスは、フロー実行の Amazon リソースネーム (ARN) です。フローの実行が終了したときや条件ノードが条件を評価するときなどに、`executionArn` を使用してフローの現在の状態をポーリングできます。

```
{
      "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution"
}
```

**フロー実行の進行状況を追跡する**  
[GetFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetFlowExecution.html) オペレーションを使用して、実行 ARN で識別したフローの現在のステータスを取得します。フローステータスは、`Running`、`Succeeded`、`Failed`、`TimedOut`、または `Aborted` のいずれかです。

```
{
      "endedAt": null,
      "errors": null,
      "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution",
      "flowAliasIdentifier": "TSTALIASID",
      "flowIdentifier": "FLOWID",
      "flowVersion": "DRAFT",
      "startedAt": "2025-03-20T23:32:28.899221162Z",
      "status": "Running"
}
```

エラー (タイムアウトする Lambda ノードなど) は、次の例のように `errors` 配列で返されます。

```
"errors": [{
    "nodeName": "LambdaNode1",
    "errorType": "ExecutionTimedOut",
    "message": "Call to lambda function timed out"
}],
```

**フロー実行の結果を取得する**  
Amazon Bedrock は、フローの出力をフローの[出力](flows-nodes.md#flows-nodes-output)ノードに書き込みます。フローが完了時、またはフローの実行中に (ユースケースに応じて)、出力を取得できます。

最初にフローを完了させる場合は、`GetFlowExecution` を呼び出し、レスポンスの `status` フィールドの値が `Succeeded` であることを確認します。

フロー実行から出力イベントのリストを取得するには、[ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html) を呼び出します。レスポンスで、`flowExecutionEvents` の `flowOutputEvent` オブジェクトを確認します。例えば、`content` フィールドでフローの出力を取得できます。

```
{
      "flowOutputEvent": {
        "content": {
          "document": "The model response."
        },
        "nodeName": "FlowOutputNode"
      }
}
```

`eventType` クエリパラメータを `Flow` に設定することで、`ListFlowExecutions` からの出力を入力ノードと出力ノードのみに制限できます。

**イベントの表示**  
フロー実行のデバッグに役立つように、[ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html) オペレーションを使用して、フローの実行中にノードが生成するイベントを表示できます。`eventType` クエリパラメータを `Node` に設定すると、次の例のようなレスポンスのすべてのノード (中間ノードを含む) の入力と出力が表示されます。

```
{
    "flowExecutionEvents": [{
            "nodeOutputEvent": {
                "fields": [{
                    "content": {
                        "document": "History book"
                    },
                    "name": "document"
                }],
                "nodeName": "FlowInputNode",
                "timestamp": "2025-05-05T18:38:56.637867516Z"
            }
        },
        {
            "nodeInputEvent": {
                "fields": [{
                    "content": {
                        "document": "History book"
                    },
                    "name": "book"
                }],
                "nodeName": "Prompt_1",
                "timestamp": "2025-05-05T18:38:57.434600163Z"
            }
        },
        {
            "nodeOutputEvent": {
                "fields": [{
                    "content": {
                        "document": "Here's a summary of the history book."
                    },
                    "name": "modelCompletion"
                }],
                "nodeName": "Prompt_1",
                "timestamp": "2025-05-05T18:39:06.034157077Z"
            }
        },
        {
            "nodeInputEvent": {
                "fields": [{
                    "content": {
                        "document": "Here's a summary of the history book."
                    },
                    "name": "document"
                }],
                "nodeName": "FlowOutputNode",
                "timestamp": "2025-05-05T18:39:06.453128251Z"
            }
        }
    ]
}
```

**フロー実行のスナップショットを取得する**  
Amazon Bedrock は、フロー実行が開始されると、フロー定義とメタデータのスナップショットを自動的に作成します。これは、フローが非同期で実行中に更新できるため便利です。このスナップショットを取得するには、[GetExecutionFlowSnapshot](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetExecutionFlowSnapshot.html) オペレーションを呼び出します。レスポンスには、以下のフローフィールドが含まれます。
+ **customerEncryptionKeyArn** – フローを暗号化する AWS KMS キーの ARN。
+ **定義** – フローの[定義](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FlowDefinition.html)。
+ **executionRoleArn** – フロー実行で使用される IAM サービスロールの ARN。
+ **flowAliasIdentifier** – フローのエイリアス ID。
+ **flowIdentifier** – フローの ID。
+ **flowVersion** – フローのバージョン。

```
{
      "customerEncryptionKeyArn": null,
      "definition": "{flow-definition}",
      "executionRoleArn": "arn:aws:iam::111122223333:role/name",
      "flowAliasIdentifier": "TSTALIASID",
      "flowIdentifier": "FLOWID",
      "flowVersion": "DRAFT"
}
```

**フロー実行を一覧表示する**  
[ListFlowExecutions](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutions.html) オペレーションを呼び出すことで、フロー実行のリストを取得できます。レスポンスには、フロー AWS リージョン またはフローエイリアスの現在の の各フロー実行に関する情報を含む`flowExecutionSummaries`配列が含まれます。各要素には、実行 ARN、開始時刻、フローの現在のステータスなどの情報が含まれます。

```
{
    "flowExecutionSummaries": [{
        "createdAt": "2025-03-11T23:21:02.875598966Z",
        "endedAt": null,
        "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution",
        "flowAliasIdentifier": "TSTALIASID",
        "flowIdentifier": "FLOWID",
        "flowVersion": "DRAFT",
        "status": "Running"
    }]
}
```

**実行中のフロー実行を停止する**  
実行中のフロー実行を停止する必要がある場合は、[StopFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StopFlowExecution.html) オペレーションを呼び出し、停止する実行のフロー ID、フローエイリアス ID、およびフロー実行 ID を渡します。

------

## フロー実行ステータス
<a name="flows-async-statuses"></a>

フロー実行には、次のいずれかのステータスがあります。
+ **実行中** – フロー実行が進行中です。
+ **成功** – フロー実行が正常に完了しました。
+ **失敗** – エラーのため、フロー実行が失敗しました。
+ **タイムアウト** – フロー実行が最大ランタイムの 24 時間を超えました。
+ **中止** – [StopFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StopFlowExecution.html) オペレーションを使用してフロー実行が手動で停止されました。

実行されなくなったフロー実行は、90 日後に自動的に削除されます。

## フロー実行のベストプラクティス
<a name="flows-async-best-practices"></a>

フロー実行を使用するときは、以下を考慮してください。
+ フローが終了状態 (`Running` 以外) になるまで、[GetFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetFlowExecution.html) を使用してフロー実行のステータスを定期的にポーリングします。
+ フロー実行が終了状態になったら、[ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html) を使用してフローの結果を取得します。例えば、これらの結果を使用して、フローの周囲にロジックを構築できます。
+ [GetExecutionFlowSnapshot](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetExecutionFlowSnapshot.html) を使用してフロー実行のスナップショットを取得して、実行で問題が発生した場合のデバッグに役立てます。