Ejecución de flujos de Amazon Bedrock de forma asincrónica - 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.

Ejecución de flujos de Amazon Bedrock de forma asincrónica

Con las ejecuciones de flujos, puede ejecutar los flujos de Amazon Bedrock de forma asincrónica. Esto permite que los flujos se ejecuten durante más tiempo y, además, proporciona el control para que la 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 realiza una ejecución de flujo, el flujo puede mantenerse activo durante mucho más tiempo: los nodos individuales pueden ejecutarse hasta cinco minutos y todo el flujo puede estar ejecutándose hasta 24 horas.

nota

La ejecución de flujos está en versión preliminar para Amazon Bedrock y está sujeta a cambios.

Permisos necesarios para realizar ejecuciones de flujos

Creación y administración de una ejecución de flujo

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

Console
  1. Para crear un flujo, siga las instrucciones de Creación y diseño de un flujo en Amazon Bedrock.

  2. Cree un alias para el flujo siguiendo las instrucciones de Creación de un alias de un flujo en Amazon Bedrock.

  3. Si aún no se encuentra en el Generador de flujos, haga lo siguiente:

    1. Inicie sesión Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola Amazon Bedrock. A continuación, abra la consola de Amazon Bedrock en https://console.aws.amazon.com/bedrock.

    2. Seleccione Flujos de Amazon Bedrock en el panel de navegación de la izquierda 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 desea utilizar.

    3. En Entrada de petición, introduzca la petición 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 Salida de ejecución, verá la salida del flujo.

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

API
Iniciar 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 de flujo y el ID de alias del flujo que desea ejecutar. También puede especificar lo siguiente:

  • inputs: matriz que contiene el nodo input desde el que desea que comience a ejecutarse el flujo. La entrada que se va a enviar al nodo de entrada del flujo de peticiones se especifica en el campo content.

  • name: un 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 usar el 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" }
Seguimiento del progreso de una ejecución de 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 es Running, Succeeded, Failed, TimedOut o 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" }

Los errores (como un nodo de Lambda cuyo tiempo de espera se ha agotado) se devuelven en la matriz errors como en el siguiente ejemplo:

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

Amazon Bedrock escribe las salidas de un flujo en los nodos output 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 campo status en la respuesta sea Succeeded.

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

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

Puede limitar la salida de ListFlowExecutions a solo los nodos de entrada y salida estableciendo el parámetro de consulta eventType en Flow.

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. Establezca el parámetro de consulta eventType en 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" } } ] }
Obtención de una instantánea de la ejecución de un flujo

Amazon Bedrock realiza 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, llama a la GetExecutionFlowSnapshotoperación. La respuesta incluye los siguientes campos del flujo:

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

  • definition: 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" }
Enumeración de las ejecuciones de un flujo

Puede obtener una lista de las ejecuciones de su flujo llamando a la ListFlowExecutionsoperación. La respuesta incluye una flowExecutionSummaries matriz con información sobre cada una de las ejecuciones del flujo en curso 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" }] }
Detención de la ejecución en curso de un flujo

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:

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

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

  • Failed: la ejecución del flujo ha fallado 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 un flujo que ya no se están ejecutando se eliminan automáticamente después de 90 días.

Prácticas recomendadas para ejecuciones de flujo

Tenga en cuenta lo siguiente al usar 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, puede usar estos resultados para crear una lógica en torno a su flujo.

  • Obtenga una instantánea de la ejecución de su flujo y GetExecutionFlowSnapshotutilícela como ayuda para la depuración si surgen problemas con la ejecución.