

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
<a name="flows-create-async"></a>

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 [InvokeFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html)operaçã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
<a name="flows-create-async-permissions"></a>
+ Verifique se o perfil de serviço do recurso Fluxos do Amazon Bedrock tem todas as permissões necessárias. Para obter mais informações, consulte [Criar um perfil de serviço para fluxos do Amazon Bedrock no Amazon Bedrock](flows-permissions.md).
+ (Opcional) Criptografe seus dados de execução de fluxo com uma AWS KMS chave gerenciada pelo cliente. Para obter mais informações, consulte [Criptografia dos recursos do Amazon Bedrock Flows](encryption-flows.md).

## Criar e gerenciar uma execução de fluxo
<a name="flows-create-async-how-to"></a>

Você pode criar uma execução de fluxo no console ou usando a [StartFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StartFlowExecution.html)operação.

------
#### [ Console ]

1. Crie um fluxo seguindo as instruções em [Criar e planejar um fluxo no Amazon Bedrock](flows-create.md).

1. Crie um alias para o fluxo seguindo as instruções em [Criar um alias de um fluxo no Amazon Bedrock](flows-alias-create.md).

1. 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.](https://console.aws.amazon.com/bedrock)

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

1. Escolha a guia **Execuções** e selecione **Criar execução**. 

1. Na caixa de diálogo **Criar execução**, digite o seguinte:

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

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

   1. Em **Entrada de prompt**, insira o prompt com o qual você deseja iniciar o fluxo.

   1. Escolha **Criar** para criar a execução do fluxo e começar a usá-la.

1. 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**.

1. (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.

1. (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 [StartFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StartFlowExecution.html)solicitação com um [endpoint de tempo de execução do Agents for Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt). 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](flows-nodes.md#flows-nodes-input) 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 [GetFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetFlowExecution.html)operaçã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](flows-nodes.md#flows-nodes-output) 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](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html). 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 [ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html)operaçã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 [GetExecutionFlowSnapshot](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetExecutionFlowSnapshot.html)operação. A resposta inclui os seguintes campos de fluxo:
+ **customerEncryptionKeyArn** — O ARN da chave que AWS KMS criptografa o fluxo.
+ **definition**: a [definição](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FlowDefinition.html) 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 [ListFlowExecutions](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutions.html)operaçã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 [StopFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StopFlowExecution.html)operaçã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 name="flows-async-statuses"></a>

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 [StopFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StopFlowExecution.html)operaçã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
<a name="flows-async-best-practices"></a>

Considere o seguinte ao usar execuções de fluxo:
+ Pesquise regularmente o status da execução do fluxo usando [GetFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetFlowExecution.html)até que seu fluxo alcance um estado terminal (que é qualquer coisa diferente de`Running`).
+ Quando a execução do fluxo atingir um estado terminal, use [ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html)para 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 [GetExecutionFlowSnapshot](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetExecutionFlowSnapshot.html)para ajudar na depuração se surgirem problemas com a execução.