Execute fluxos do Amazon Bedrock de forma assíncrona com execuções de fluxo - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Execute fluxos do Amazon Bedrock de forma assíncrona com execuções de fluxo

Com execuções de fluxo, você pode executar fluxos do Amazon Bedrock de forma assíncrona. Isso permite que seus fluxos sejam executados por períodos mais longos e também forneça controle para que seu aplicativo possa realizar outras tarefas.

Quando você executa um fluxo usando o console Amazon Bedrock ou com a InvokeFlowoperação, o fluxo é executado até terminar ou atingir o tempo limite em uma hora (o que ocorrer primeiro). Quando você executa uma execução de fluxo, seu fluxo pode durar muito mais: nós individuais podem ser executados por até cinco minutos e todo o fluxo pode ser executado por até 24 horas.

nota

O Flow executions está na versão prévia do Amazon Bedrock e está sujeito a alterações.

Permissões necessárias para executar execuções de fluxo

Crie e gerencie uma execução de fluxo

Você pode criar uma execução de fluxo no console ou usando a StartFlowExecutionoperação.

Console
  1. Crie um fluxo seguindo as instruções emCrie e projete um fluxo no Amazon Bedrock.

  2. Crie um alias para o fluxo seguindo as instruções emCrie um alias de um fluxo no Amazon Bedrock.

  3. Se você ainda não estiver no Flow builder, faça o seguinte:

    1. Faça login na função AWS Management Console usando uma função do IAM com as permissões do Amazon Bedrock e abra o console do Amazon Bedrock em Getting Started with o. AWS Management Console

    2. Selecione Amazon Bedrock Flows no painel de navegação esquerdo e, em seguida, escolha seu fluxo.

  4. Escolha a guia Execuções e, em seguida, escolha Criar execução.

  5. Na caixa de diálogo Criar execução, digite o seguinte

    1. Em Nome, insira um nome para a execução do fluxo.

    2. Em Selecionar alias, escolha o alias do fluxo que você deseja usar.

    3. Em Entrada de alerta, insira a solicitação com a qual você deseja iniciar o fluxo.

    4. Escolha Criar para criar a execução do fluxo e começar a executá-la.

  6. Na página de detalhes do fluxo, escolha a guia Execuções e anote o status da execução do fluxo em Status de execução.

  7. (Opcional) Escolha uma execução para abrir o fluxo e ver o resumo da execução.

    Na saída de execução, você vê a saída do fluxo.

  8. (Opcional) Para interromper a execução de um fluxo, selecione a execução e escolha Interromper.

API
Iniciar uma execução de fluxo

Para executar uma execução de fluxo, envie uma StartFlowExecutionsolicitação com um endpoint de tempo de execução do Agents for Amazon Bedrock. Na solicitação, especifique o ID do fluxo e o ID do alias do fluxo que você deseja executar. Também é possível especificar o seguinte:

  • inputs — Uma matriz contendo o nó de entrada a partir do qual você deseja que o fluxo comece a ser executado. Você especifica a entrada a ser enviada para o nó de entrada de fluxo imediato no content campo.

  • name — Um nome para a execução do fluxo.

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

A resposta é o Amazon Resource Name (ARN) da execução do fluxo. Você pode usar o executionArn para pesquisar o estado atual do fluxo, como quando a execução do fluxo termina ou um nó de condição avalia suas condições.

{ "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution" }
Acompanhe o progresso da execução de um fluxo

Use a GetFlowExecutionoperação para obter o status atual de um fluxo que você identifica pelo ARN de execução. O status do fluxo é RunningSucceeded,Failed,TimedOut, ouAborted.

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

Erros (como um nó Lambda que atinge o tempo limite) são retornados na errors matriz, como no exemplo a seguir:

"errors": [{ "nodeName": "LambdaNode1", "errorType": "ExecutionTimedOut", "message": "Call to lambda function timed out" }],
Obtenha os resultados de uma execução de fluxo

O Amazon Bedrock grava as saídas de um fluxo nos nós de saída do fluxo. Você pode obter as saídas quando o fluxo for concluído ou enquanto o fluxo estiver em execução (dependendo do seu caso de uso).

Se você quiser que o fluxo seja concluído primeiro, faça uma chamada para GetFlowExecution e certifique-se de que o valor do status campo na resposta sejaSucceeded.

Para obter uma lista de eventos de saída da execução do fluxo, faça uma chamada para ListFlowExecutionEvents. Na resposta, verifique se há flowOutputEvent objetos dentroflowExecutionEvents. Por exemplo, você pode obter a saída de um fluxo no content campo:

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

Você pode limitar a saída de ListFlowExecutions apenas nós de entrada e saída definindo o parâmetro de eventType consulta comoFlow.

Visualizar eventos

Para ajudar a depurar a execução do fluxo, você pode usar a ListFlowExecutionEventsoperação para visualizar os eventos que os nós geram enquanto o fluxo está em execução. Defina o parâmetro de eventType consulta Node para ver as entradas e saídas de todos os nós (incluindo nós intermediários) na resposta, semelhante ao exemplo a seguir:

{ "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" } } ] }
Obtenha um instantâneo da execução do seu fluxo

O Amazon Bedrock tira automaticamente um instantâneo de uma definição de fluxo e metadados quando a execução de um fluxo é iniciada. Isso é útil, pois um fluxo pode ser atualizado enquanto está sendo executado de forma assíncrona. Para recuperar esse instantâneo, chame a GetExecutionFlowSnapshotoperação. A resposta inclui os seguintes campos de fluxo:

  • customerEncryptionKeyArn — O ARN da chave que AWS KMS criptografa o fluxo.

  • definição — A definição do fluxo.

  • executionRoleArn— O ARN da função de serviço do IAM que é usada pela execução do fluxo.

  • flowAliasIdentifier— O ID do alias do fluxo.

  • FlowIdentifier — O ID do fluxo.

  • flowVersion — A versão do fluxo.

{ "customerEncryptionKeyArn": null, "definition": "{flow-definition}", "executionRoleArn": "arn:aws:iam::111122223333:role/name", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT" }
Liste suas execuções de fluxo

Você pode obter uma lista de suas execuções de fluxo chamando a ListFlowExecutionsoperação. A resposta inclui uma flowExecutionSummaries matriz com informações sobre cada uma de suas execuções de fluxo na corrente Região da AWS para um fluxo ou alias de fluxo. Cada elemento inclui informações como o ARN da execução, a hora de início e o status atual do fluxo.

{ "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" }] }
Interromper a execução de um fluxo em execução

Se você precisar interromper a execução de um fluxo em execução, chame a StopFlowExecutionoperação e passe o ID do fluxo, o ID do alias do fluxo e o ID de execução do fluxo para a execução que você deseja interromper.

Status de execução do fluxo

A execução de um fluxo pode ter um dos seguintes status:

  • Em execução — A execução do fluxo está em andamento.

  • Bem-sucedido — A execução do fluxo foi concluída com êxito.

  • Falha — A execução do fluxo falhou devido a um erro.

  • TimedOut— A execução do fluxo excedeu o tempo de execução máximo de 24 horas.

  • Abortado — A execução do fluxo foi interrompida manualmente usando a StopFlowExecutionoperação.

As execuções de fluxo que não estão mais em execução são excluídas automaticamente após 90 dias.

Melhores práticas para execuções de fluxo

Considere o seguinte ao usar execuções de fluxo:

  • Pesquise regularmente o status da execução do fluxo usando GetFlowExecutionaté que seu fluxo alcance um estado terminal (que é qualquer coisa diferente deRunning).

  • Quando a execução do fluxo atingir um estado terminal, use ListFlowExecutionEventspara obter os resultados do seu fluxo. Por exemplo, você pode usar esses resultados para criar alguma lógica em torno do seu fluxo.

  • Obtenha um instantâneo da execução do fluxo usando GetExecutionFlowSnapshotpara ajudar na depuração se surgirem problemas com a execução.