Executar 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á.

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

Com as 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 ofereçam controle para que sua aplicação possa realizar outras tarefas.

Quando você executa um fluxo usando o console do Amazon Bedrock ou com a operação InvokeFlow, o fluxo é executado até terminar ou até atingir a expiração em uma hora (o que ocorrer primeiro). Em uma execução de fluxo, o 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

As execuções de fluxo estão em versão prévia para o Amazon Bedrock e estão sujeitas a alterações.

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

Criar e gerenciar uma execução de fluxo

É possível criar uma execução de fluxo no console ou usando a operação StartFlowExecution.

Console
  1. Crie um fluxo seguindo as instruções em Criar e planejar um fluxo no Amazon Bedrock.

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

  3. Se você ainda não estiver no Construtor de fluxo, faça o seguinte:

    1. Faça login no Console de gerenciamento da AWS com uma identidade do IAM que tenha permissões para usar o console do Amazon Bedrock. Em seguida, abra o console do Amazon Bedrock em https://console.aws.amazon.com/bedrock/.

    2. Selecione Fluxos do Amazon Bedrock no painel de navegação à esquerda e escolha seu fluxo.

  4. Escolha a guia Execuções e selecione 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 prompt, insira o prompt com o qual você deseja iniciar o fluxo.

    4. Escolha Criar para criar a execução do fluxo e começar a usá-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 da execução.

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

    Em Saída de execução, é possível ver 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 usar uma execução de fluxo, envie uma solicitação StartFlowExecution com um endpoint de runtime do recurso Agentes para 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. A entrada a ser enviada ao nó de entrada de fluxo de prompts deve ser especificada no campo content.

  • name: um nome para a execução do fluxo.

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

A resposta é o nome do recurso da Amazon (ARN) da execução do fluxo. É possível 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 as respectivas condições.

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

Use a operação GetFlowExecution para obter o status atual de um fluxo que você identifica pelo ARN de execução. O status do fluxo é Running, Succeeded, Failed, TimedOut ou 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" }

Erros (como um nó do Lambda que atinge o tempo limite) são exibidos na matriz errors, como no seguinte exemplo:

"errors": [{ "nodeName": "LambdaNode1", "errorType": "ExecutionTimedOut", "message": "Call to lambda function timed out" }],
Obter 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. É possível 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 verifique se o valor do campo status na resposta é Succeeded.

Para ver uma lista de eventos de saída da execução do fluxo, faça uma chamada para ListFlowExecutionEvents. Na resposta, verifique se há objetos flowOutputEvent em flowExecutionEvents. Por exemplo, é possível obter a saída de um fluxo no campo content:

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

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

Visualizar eventos

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

{ "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" } } ] }
Obter um snapshot da execução do fluxo

O Amazon Bedrock tira automaticamente um snapshot 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 snapshot, chame a operação GetExecutionFlowSnapshot. A resposta inclui os seguintes campos de fluxo:

  • customerEncryptionKeyArn: o ARN da chave do AWS KMS que criptografa o fluxo.

  • definition: a definição do fluxo.

  • executionRoleArn: o ARN do perfil de serviço do IAM que é usado 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" }
Listar as execuções de fluxo

Você pode obter uma lista de suas execuções de fluxo chamando a operação ListFlowExecutions. A resposta inclui uma matriz flowExecutionSummaries com informações sobre cada uma de suas execuções de fluxo na Região da AWS atual 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 operação StopFlowExecution e transmita 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 de fluxo

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

  • Running: a execução do fluxo está em andamento.

  • Succeeded: a execução do fluxo foi concluída com êxito.

  • Failed: 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.

  • Aborted: a execução do fluxo foi interrompida manualmente usando a operação StopFlowExecution.

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

Práticas recomendadas para execução de fluxo

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

  • Pesquise regularmente o status da execução do fluxo usando GetFlowExecution até que o fluxo alcance um estado terminal (que é diferente de Running).

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

  • Obtenha um snapshot da execução do fluxo usando GetExecutionFlowSnapshot para ajudar na depuração se surgirem problemas de execução.