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.