

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exécution de flux Amazon Bedrock de manière asynchrone avec des exécutions de flux
<a name="flows-create-async"></a>

Avec des exécutions de flux, vous pouvez exécuter des flux Amazon Bedrock de manière asynchrone. Ainsi, vos flux peuvent s’exécuter plus longtemps et contrôler les rendements, afin que votre application puisse effectuer d’autres tâches.

Lorsque vous exécutez un flux à l'aide de la console Amazon Bedrock ou avec l'[InvokeFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeFlow.html)opération, le flux s'exécute jusqu'à ce qu'il se termine ou expire au bout d'une heure (selon la première éventualité). Lorsque vous exécutez un flux, celui-ci peut s’exécuter bien plus longtemps : les nœuds individuels peuvent s’exécuter pendant cinq minutes maximum et l’ensemble de votre flux peut s’exécuter pendant 24 heures maximum.

**Note**  
Les exécutions de flux sont disponibles en version préliminaire pour Amazon Bedrock et peuvent encore évoluer.

## Autorisations requises pour exécuter des flux
<a name="flows-create-async-permissions"></a>
+ Assurez-vous que votre rôle de service Amazon Bedrock Flows dispose de toutes les autorisations nécessaires. Pour de plus amples informations, veuillez consulter [Création d’un rôle de service pour Amazon Bedrock Flows dans Amazon Bedrock](flows-permissions.md).
+ (Facultatif) Chiffrez les données d'exécution de votre flux à l'aide d'une AWS KMS clé gérée par le client. Pour de plus amples informations, veuillez consulter [Chiffrement des ressources Amazon Bedrock Flows](encryption-flows.md).

## Création et gestion d’une exécution de flux
<a name="flows-create-async-how-to"></a>

Vous pouvez créer une exécution de flux dans la console ou à l'aide de l'[StartFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StartFlowExecution.html)opération.

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

1. Créez un flux en suivant les instructions sous [Création et conception d’un flux dans Amazon Bedrock](flows-create.md).

1. Créez un alias pour le flux en suivant les instructions sous [Création d’un alias d’un flux dans Amazon Bedrock](flows-alias-create.md).

1. Si vous n’êtes pas encore dans le **Créateur de flux**, procédez comme suit :

   1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à l'adresse [https://console.aws.amazon.com/bedrock.](https://console.aws.amazon.com/bedrock)

   1. Sélectionnez **Flux Amazon Bedrock** dans le volet de navigation gauche, puis choisissez votre flux.

1. Cliquez sur l’onglet **Exécutions**, puis choisissez **Créer une exécution**. 

1. Dans la boîte de dialogue **Créer une exécution**, saisissez ce qui suit :

   1. Dans le champ **Nom**, saisissez le nom de l’exécution de flux. 

   1. Dans le champ **Sélectionner un alias**, choisissez l’alias du flux que vous souhaitez utiliser.

   1. Dans le champ **Entrée d’invite**, saisissez l’invite avec laquelle vous souhaitez démarrer le flux.

   1. Choisissez **Créer** pour créer l’exécution de flux et commencer à l’exécuter.

1. Sur la page des détails du flux, cliquez sur l’onglet **Exécutions** et notez le statut de l’exécution du flux indiqué dans **Statut d’exécution**.

1. (Facultatif) Choisissez une exécution pour ouvrir le flux et afficher le résumé de l’exécution.

   Sous **Sortie d’exécution**, vous pouvez voir la sortie du flux.

1. (Facultatif) Pour arrêter une exécution de flux, sélectionnez-la et choisissez **Arrêter**.

------
#### [ API ]

**Lancement d’une exécution de flux**  
Pour exécuter un flux, envoyez une [StartFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StartFlowExecution.html)demande avec un point de [terminaison Agents for Amazon Bedrock Runtime](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-rt). Dans la demande, spécifiez l’identifiant de flux et l’identifiant d’alias de flux du flux que vous souhaitez exécuter. Vous pouvez aussi spécifier les éléments suivants :
+ **inputs** : tableau contenant le nœud d’[entrée](flows-nodes.md#flows-nodes-input) à partir duquel vous souhaitez que le flux commence à s’exécuter. Vous spécifiez l’entrée à envoyer au nœud d’entrée du flux d’invite dans le champ `content`.
+ **name** : nom de l’exécution de flux.

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

La réponse est l’Amazon Resource Name (ARN) de l’exécution de flux. Vous pouvez interroger l’état actuel du flux à l’aide de l’`executionArn`, par exemple lorsque l’exécution du flux est terminée ou qu’un nœud de condition évalue ses conditions.

```
{
      "executionArn": "arn:aws:bedrock:us-west-2:111122223333:flow/FLOWID/alias/TSTALIASID/execution/MyExecution"
}
```

**Suivi de la progression d’une exécution de flux**  
Utilisez l'[GetFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetFlowExecution.html)opération pour obtenir l'état actuel d'un flux que vous identifiez par son ARN d'exécution. Le statut d’un flux est `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"
}
```

Les erreurs (telles que le délai d’expiration d’un nœud Lambda) sont renvoyées dans le tableau `errors`, comme dans l’exemple suivant :

```
"errors": [{
    "nodeName": "LambdaNode1",
    "errorType": "ExecutionTimedOut",
    "message": "Call to lambda function timed out"
}],
```

**Obtention des résultats d’une exécution de flux**  
Amazon Bedrock écrit les sorties d’un flux dans les nœuds de [sortie](flows-nodes.md#flows-nodes-output) du flux. Vous pouvez obtenir les sorties une fois le flux terminé ou pendant son exécution (selon votre cas d’utilisation).

Si vous souhaitez que le flux soit terminé d’abord, appelez `GetFlowExecution` et assurez-vous que la valeur du champ `status` dans la réponse est `Succeeded`.

Pour obtenir une liste des événements de sortie de l'exécution du flux, appelez [ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html). Dans la réponse, vérifiez la présence d’objets `flowOutputEvent` dans `flowExecutionEvents`. Par exemple, vous pouvez obtenir la sortie d’un flux dans le champ `content` :

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

Vous pouvez limiter la sortie de `ListFlowExecutions` aux seuls nœuds d’entrée et de sortie en définissant le paramètre de requête `eventType` sur `Flow`.

**Affichage des événements**  
Pour aider à débuguer l'exécution de votre flux, vous pouvez utiliser cette [ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html)opération pour afficher les événements générés par les nœuds pendant l'exécution du flux. Définissez le paramètre de requête `eventType` sur `Node` pour afficher les entrées et sorties de tous les nœuds (y compris les nœuds intermédiaires) dans la réponse semblable à l’exemple suivant :

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

**Obtenez un instantané de votre exécution de flux**  
Amazon Bedrock prend automatiquement un instantané de la définition et des métadonnées d’un flux lorsqu’une exécution de flux démarre. Cela est utile, car un flux peut être mis à jour lorsqu’il s’exécute de manière asynchrone. Pour récupérer cet instantané, appelez l'[GetExecutionFlowSnapshot](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetExecutionFlowSnapshot.html)opération. La réponse inclut les champs de flux suivants :
+ **customerEncryptionKeyArn** — L'ARN de la AWS KMS clé qui chiffre le flux.
+ **definition** : [définition](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_FlowDefinition.html) du flux.
+ **executionRoleArn**— L'ARN du rôle de service IAM utilisé par l'exécution du flux.
+ **flowAliasIdentifier**— L'identifiant d'alias du flux.
+ **flowIdentifier** : identifiant du flux.
+ **flowVersion** : version du flux.

```
{
      "customerEncryptionKeyArn": null,
      "definition": "{flow-definition}",
      "executionRoleArn": "arn:aws:iam::111122223333:role/name",
      "flowAliasIdentifier": "TSTALIASID",
      "flowIdentifier": "FLOWID",
      "flowVersion": "DRAFT"
}
```

**Établissement de la liste de vos exécutions de flux**  
Vous pouvez obtenir la liste de vos exécutions de flux en appelant l'[ListFlowExecutions](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutions.html)opération. La réponse inclut un `flowExecutionSummaries` tableau contenant des informations sur chacune de vos exécutions de flux en cours Région AWS pour un flux ou un alias de flux. Chaque élément inclut des informations telles que l’ARN d’exécution, l’heure de début et le statut actuel du flux.

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

**Arrêt d’une exécution de flux en cours**  
Si vous devez arrêter l'exécution d'un flux en cours, appelez l'[StopFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StopFlowExecution.html)opération et transmettez l'ID de flux, l'ID d'alias de flux et l'ID d'exécution de flux pour l'exécution que vous souhaitez arrêter. 

------

## Statuts d’exécution de flux
<a name="flows-async-statuses"></a>

Une exécution de flux peut avoir l’un des statuts suivants :
+ **En cours** : l’exécution de flux est en cours.
+ **Réussite** : l’exécution de flux s’est terminée avec succès.
+ **Échec** : l’exécution de flux a échoué à cause d’une erreur.
+ **TimedOut**— L'exécution du flux a dépassé le temps d'exécution maximal de 24 heures.
+ **Annulé** — L'exécution du flux a été arrêtée manuellement à l'aide de l'[StopFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_StopFlowExecution.html)opération.

Les exécutions de flux qui ne sont plus en cours sont automatiquement supprimées au bout de 90 jours.

## Bonnes pratiques relatives aux exécutions de flux
<a name="flows-async-best-practices"></a>

Tenez compte des éléments suivants lorsque vous utilisez des exécutions de flux :
+ Interrogez régulièrement l'état d'exécution de votre flux [GetFlowExecution](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetFlowExecution.html)jusqu'à ce que votre flux atteigne un état terminal (qui est autre chose que`Running`).
+ Lorsque l'exécution de votre flux atteint un état terminal, utilisez [ListFlowExecutionEvents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_ListFlowExecutionEvents.html)pour obtenir les résultats de votre flux. Par exemple, vous pouvez créer une certaine logique autour de votre flux à l’aide de ces résultats.
+ Obtenez un aperçu de l'exécution de votre flux [GetExecutionFlowSnapshot](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_GetExecutionFlowSnapshot.html)à l'aide du débogage si des problèmes surviennent lors de l'exécution.