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 de Amazon Bedrock o con la operación InvokeFlow, el flujo se ejecuta hasta que finaliza o se agota el tiempo de espera al cabo de 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 operación StartFlowExecution.

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 en la Consola de administración de AWS con una identidad de IAM que tenga permisos para usar la consola de 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 realizar una ejecución de flujo, envíe una solicitud StartFlowExecution con un punto de conexión en tiempo de ejecución de Agentes para 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 operación GetFlowExecution para obtener el estado actual de un flujo que identifica 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 de un 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 operación ListFlowExecutionEvents para ver los eventos que los nodos generan 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, llame a la operación GetExecutionFlowSnapshot. La respuesta incluye los siguientes campos del flujo:

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

  • definition: la definición del flujo.

  • executionRoleArn: el ARN del rol de servicio de IAM que utiliza la ejecución del flujo.

  • flowAliasIdentifier: el ID de alias 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 un flujo llamando a la operación ListFlowExecutions. La respuesta incluye una matriz flowExecutionSummaries con información sobre cada una de las ejecuciones del flujo en la Región de AWS actual 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 en curso de un flujo, llame a la operación StopFlowExecution y pase el ID de flujo, el ID de alias del flujo y el ID de ejecución del flujo de 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.

  • Aborted: la ejecución del flujo se detuvo manualmente mediante la operación StopFlowExecution.

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 la ejecución del flujo mediante GetFlowExecution hasta que el flujo alcance un estado terminal (que es cualquier otro distinto de Running).

  • Cuando la ejecución del flujo alcance un estado terminal, use ListFlowExecutionEvents 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 con GetExecutionFlowSnapshot para ayudarle a depurar en caso de que surjan problemas con la ejecución.