Ejecute flujos de Amazon Bedrock de forma asíncrona con ejecuciones de flujos - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecute flujos de Amazon Bedrock de forma asíncrona con ejecuciones de flujos

Con las ejecuciones de flujos, puede ejecutar flujos de Amazon Bedrock de forma asíncrona. Esto permite que sus flujos se ejecuten durante períodos más prolongados y, además, le permite tener el control necesario para que su aplicación pueda realizar otras tareas.

Cuando ejecuta un flujo mediante la consola Amazon Bedrock o con la InvokeFlowoperación, el flujo se ejecuta hasta que finaliza o se agota el tiempo de espera a una hora (lo que ocurra primero). Cuando ejecuta una ejecución de flujo, el flujo puede durar mucho más tiempo: los nodos individuales pueden funcionar hasta cinco minutos y todo el flujo puede funcionar hasta 24 horas.

nota

Las ejecuciones de flujos se encuentran en una versión preliminar de Amazon Bedrock y están sujetas a cambios.

Permisos necesarios para ejecutar los flujos

Cree y gestione una ejecución de flujo

Puede crear una ejecución de flujo en la consola o mediante la StartFlowExecutionoperación.

Console
  1. Cree un flujo siguiendo las instrucciones deCree y diseñe un flujo en Amazon Bedrock.

  2. Cree un alias para el flujo siguiendo las instrucciones deCrear un alias de un flujo en Amazon Bedrock.

  3. Si aún no está en el generador de flujos, haga lo siguiente:

    1. Inicie sesión en el rol de AWS Management Console uso de IAM con los permisos de Amazon Bedrock y abra la consola de Amazon Bedrock en Getting Started with the. AWS Management Console

    2. Seleccione Amazon Bedrock Flows en el panel de navegación izquierdo y, a continuación, elija su flujo.

  4. Seleccione la pestaña Ejecuciones y, a continuación, seleccione Crear ejecución.

  5. En el cuadro de diálogo Crear ejecución, introduzca lo siguiente

    1. En Nombre, introduzca un nombre para la ejecución del flujo.

    2. En Seleccionar alias, elija el alias del flujo que desee usar.

    3. En Entrada rápida, introduzca la línea de comandos con la que desee iniciar el flujo.

    4. Elija Crear para crear la ejecución del flujo y empezar a ejecutarla.

  6. En la página de detalles del flujo, seleccione la pestaña Ejecuciones y anote el estado de la ejecución del flujo en Estado de ejecución.

  7. (Opcional) Elija una ejecución para abrir el flujo y ver el resumen de la ejecución.

    En el resultado de la ejecución, verá el resultado del flujo.

  8. (Opcional) Para detener la ejecución de un flujo, seleccione la ejecución y elija Detener.

API
Inicie una ejecución de flujo

Para ejecutar una ejecución de flujo, envíe una StartFlowExecutionsolicitud con un punto de ejecución de Agents for Amazon Bedrock. En la solicitud, especifique el ID del flujo y el ID de alias del flujo que desea ejecutar. También puede especificar lo siguiente:

  • entradas: matriz que contiene el nodo de entrada desde el que desea que comience a ejecutarse el flujo. Usted especifica la entrada que se va a enviar al nodo de entrada del flujo rápido en el content campo.

  • nombre: nombre para la ejecución del flujo.

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

La respuesta es el nombre de recurso de Amazon (ARN) de la ejecución del flujo. Puede usarlo executionArn para sondear el estado actual del flujo, por ejemplo, cuando finaliza la ejecución del flujo o cuando un nodo de condición evalúa sus condiciones.

{ "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution" }
Realice un seguimiento del progreso de la ejecución de un flujo

Utilice la GetFlowExecutionoperación para obtener el estado actual de un flujo que identifique por su ARN de ejecución. El estado de un flujo esRunning,Succeeded, FailedTimedOut, oAborted.

{ "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" }

Los errores (como un nodo Lambda que agota el tiempo de espera) se devuelven a la errors matriz como en el siguiente ejemplo:

"errors": [{ "nodeName": "LambdaNode1", "errorType": "ExecutionTimedOut", "message": "Call to lambda function timed out" }],
Obtenga los resultados de la ejecución de un flujo

Amazon Bedrock escribe las salidas de un flujo en los nodos de salida del flujo. Puede obtener las salidas una vez que se complete el flujo o mientras el flujo está en funcionamiento (según su caso de uso).

Si desea que el flujo se complete primero, llame a GetFlowExecution y asegúrese de que el valor del status campo de la respuesta seaSucceeded.

Para obtener una lista de los eventos de salida de la ejecución del flujo, llame a ListFlowExecutionEvents. En la respuesta, compruebe si hay flowOutputEvent objetos dentroflowExecutionEvents. Por ejemplo, puede obtener el resultado de un flujo en el content campo:

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

Puede limitar la salida ListFlowExecutions a solo los nodos de entrada y salida configurando el parámetro de eventType consulta enFlow.

Ver eventos

Para ayudar a depurar la ejecución del flujo, puede utilizar la ListFlowExecutionEventsoperación para ver los eventos que generan los nodos mientras se ejecuta el flujo. Defina el parámetro de eventType consulta Node para ver las entradas y salidas de todos los nodos (incluidos los nodos intermedios) de la respuesta, de forma similar a la del siguiente ejemplo:

{ "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" } } ] }
Obtenga una instantánea de la ejecución de su flujo

Amazon Bedrock toma automáticamente una instantánea de la definición y los metadatos de un flujo cuando se inicia la ejecución de un flujo. Esto resulta útil, ya que un flujo se puede actualizar mientras se ejecuta de forma asíncrona. Para recuperar esta instantánea, llame a la operación. GetExecutionFlowSnapshot La respuesta incluye los siguientes campos de flujo:

  • customerEncryptionKeyArn: el ARN de la clave que cifra AWS KMS el flujo.

  • definición: la definición del flujo.

  • executionRoleArn— El ARN de la función de servicio de IAM que utiliza la ejecución del flujo.

  • flowAliasIdentifier— El seudónimo del flujo.

  • flowIdentifier: el ID del flujo.

  • flowVersion: la versión del flujo.

{ "customerEncryptionKeyArn": null, "definition": "{flow-definition}", "executionRoleArn": "arn:aws:iam::111122223333:role/name", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT" }
Enumere las ejecuciones de sus flujos

Puede obtener una lista de las ejecuciones de sus flujos llamando a la ListFlowExecutionsoperación. La respuesta incluye una flowExecutionSummaries matriz con información sobre cada una de las ejecuciones de flujo actuales Región de AWS para un flujo o un alias de flujo. Cada elemento incluye información como el ARN de ejecución, la hora de inicio y el estado actual del flujo.

{ "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" }] }
Detenga la ejecución de un flujo en ejecución

Si necesita detener la ejecución de un flujo en ejecución, llame a la StopFlowExecutionoperación y pase el ID del flujo, el ID de alias del flujo y el ID de ejecución del flujo correspondientes a la ejecución que desee detener.

Estados de ejecución del flujo

La ejecución de un flujo puede tener uno de los siguientes estados:

  • En ejecución: la ejecución del flujo está en curso.

  • Correcto: la ejecución del flujo se completó correctamente.

  • Fallo: la ejecución del flujo falló debido a un error.

  • TimedOut— La ejecución del flujo superó el tiempo de ejecución máximo de 24 horas.

  • Abortado: la ejecución del flujo se detuvo manualmente mediante la StopFlowExecutionoperación.

Las ejecuciones de flujo que ya no se ejecutan se eliminan automáticamente después de 90 días.

Prácticas recomendadas para las ejecuciones de flujos

Tenga en cuenta lo siguiente al utilizar las ejecuciones de flujo:

  • Compruebe periódicamente el estado de ejecución del flujo GetFlowExecutionhasta que el flujo alcance un estado terminal (que es cualquier otro que no seaRunning).

  • Cuando la ejecución del flujo alcance un estado terminal, ListFlowExecutionEventsutilícelo para obtener los resultados del flujo. Por ejemplo, puedes usar estos resultados para crear una lógica en torno a tu flujo.

  • Obtén una instantánea de la ejecución del flujo GetExecutionFlowSnapshotpara ayudarte a depurar si surgen problemas con la ejecución.