フロー実行を使用して Amazon Bedrock フローを非同期的に実行する - Amazon Bedrock

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

フロー実行を使用して Amazon Bedrock フローを非同期的に実行する

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

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

注記

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

フロー実行を実行するために必要なアクセス許可

フロー実行の作成と管理

フロー実行は、コンソールまたは StartFlowExecution オペレーションを使用して作成できます。

Console
  1. 「」の手順に従ってフローを作成しますAmazon Bedrock でフローを作成して設計する

  2. 「」の手順に従って、フローのエイリアスを作成しますAmazon Bedrock でフローのエイリアスを作成する

  3. Flow Builder をまだ使用していない場合は、次の操作を行います。

    1. Amazon Bedrock アクセス許可を持つ IAM ロール AWS Management Console を使用して にサインインし、「 の開始方法 AWS Management Console」で Amazon Bedrock コンソールを開きます。

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

  4. Executions タブを選択し、Create execution を選択します。

  5. 実行の作成ダイアログで、次のように入力します。

    1. Name に、フロー実行の名前を入力します。

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

    3. プロンプト入力には、フローを開始するプロンプトを入力します。

    4. Create を選択してフロー実行を作成し、実行を開始します。

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

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

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

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

API
フロー実行を開始する

フロー実行を実行するには、Amazon Bedrock エージェントのランタイムエンドポイントを使用して StartFlowExecution リクエストを送信します。リクエストで、実行するフローのフロー ID とフローエイリアス ID を指定します。以下を指定することもできます。

  • 入力 – フローの実行を開始する入力ノードを含む配列。content フィールドでプロンプトフロー入力ノードに送信する入力を指定します。

  • name – フロー実行の名前。

{ "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 オペレーションを使用して、実行 ARN で識別したフローの現在のステータスを取得します。フローステータスは、RunningSucceeded、、FailedTimedOut、または のいずれかです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 は、フローの出力をフローの出力ノードに書き込みます。フローが完了すると、またはフローの実行中に (ユースケースに応じて)、出力を取得できます。

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

フロー実行から出力イベントのリストを取得するには、ListFlowExecutionEvents を呼び出します。レスポンスで、 のflowOutputEventオブジェクトを確認しますflowExecutionEvents。たとえば、 contentフィールドでフローの出力を取得できます。

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

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

イベントの表示

フロー実行のデバッグに役立つように、ListFlowExecutionEvents オペレーションを使用して、フローの実行中にノードが生成するイベントを表示できます。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 オペレーションを呼び出します。レスポンスには、次のフローフィールドが含まれます。

  • customerEncryptionKeyArn – フローを暗号化する AWS KMS キーの ARN。

  • 定義 – フローの定義

  • 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 オペレーションを呼び出すことで、フロー実行のリストを取得できます。レスポンスには、フロー 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 オペレーションを呼び出し、停止する実行のフロー ID、フローエイリアス ID、およびフロー実行 ID を渡します。

フロー実行ステータス

フロー実行には、次のいずれかのステータスがあります。

  • 実行中 – フローの実行が進行中です。

  • 成功 – フローの実行は正常に完了しました。

  • 失敗 – エラーのため、フローの実行に失敗しました。

  • TimedOut – フロー実行が最大ランタイムの 24 時間を超えました。

  • 中止StopFlowExecution オペレーションを使用してフロー実行を手動で停止しました。

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

フロー実行のベストプラクティス

フロー実行を使用する場合は、次の点を考慮してください。

  • フローが終了状態 ( 以外) GetFlowExecution を使用してフロー実行のステータスを定期的にポーリングしますRunning

  • フロー実行が終了状態になったら、ListFlowExecutionEvents を使用してフローの結果を取得します。たとえば、これらの結果を使用して、フローの周囲にロジックを構築できます。

  • GetExecutionFlowSnapshot を使用してフロー実行のスナップショットを取得し、実行時に問題が発生した場合のデバッグに役立ちます。