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 Amazon Bedrock ou com a InvokeFlowoperação, o fluxo é executado até terminar ou atingir o tempo limite 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

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

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 Amazon Bedrock. Em seguida, abra o console 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 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. 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 GetFlowExecutionoperação 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 obter 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 ListFlowExecutionEventsoperação 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 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.

  • definition: 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" }
Listar as 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 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.

  • 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 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 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 fluxo.

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