Exécution de flux Amazon Bedrock de manière asynchrone avec des exécutions de flux - Amazon Bedrock

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

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 de l’opération InvokeFlow, 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

Création et gestion d’une exécution de flux

Vous pouvez créer une exécution de flux dans la console ou à l’aide de l’opération StartFlowExecution.

Console
  1. Créez un flux en suivant les instructions sous Création et conception d’un flux dans Amazon Bedrock.

  2. Créez un alias pour le flux en suivant les instructions sous Création d’un alias d’un flux dans Amazon Bedrock.

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

    1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse https://console.aws.amazon.com/bedrock.

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

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

  5. 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.

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

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

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

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

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

  8. (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 lancer une exécution de flux, envoyez une demande StartFlowExecution avec un point de terminaison pour agents Amazon Bedrock. 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 à 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

Obtenez le statut actuel d’un flux que vous identifiez par son ARN d’exécution à l’aide de l’opération GetFlowExecution. 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 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. 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éboguer votre exécution de flux, vous pouvez afficher les événements générés par les nœuds pendant l’exécution du flux à l’aide de l’opération ListFlowExecutionEvents. 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’opération GetExecutionFlowSnapshot. La réponse inclut les champs de flux suivants :

  • customerEncryptionKeyArn : ARN de la clé AWS KMS qui chiffre le flux.

  • definition : définition du flux.

  • executionRoleArn : ARN du rôle de service IAM utilisé par l’exécution de flux.

  • flowAliasIdentifier : identifiant de l’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’opération ListFlowExecutions. La réponse inclut un tableau flowExecutionSummaries contenant des informations sur chacune de vos exécutions de flux dans la Région AWS actuelle 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 une exécution de flux en cours, appelez l’opération StopFlowExecution et transmettez l’identifiant du flux, l’identifiant de l’alias du flux et l’identifiant de l’exécution du flux pour l’exécution que vous souhaitez arrêter.

Statuts d’exécution de flux

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.

  • Expirée : l’exécution de flux a dépassé le temps d’exécution maximal de 24 heures.

  • Interrompue : l’exécution de flux a été arrêtée manuellement à l’aide de l’opération StopFlowExecution.

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

Tenez compte des éléments suivants lorsque vous utilisez des exécutions de flux :

  • Consultez régulièrement le statut de votre exécution de flux à l’aide de GetFlowExecution jusqu’à ce que votre flux atteigne un état terminal (à savoir autre chose que Running).

  • Lorsque votre exécution de flux atteint un état terminal, obtenez les résultats de votre flux à l’aide de ListFlowExecutionEvents. Par exemple, vous pouvez créer une certaine logique autour de votre flux à l’aide de ces résultats.

  • Obtenez un instantané de votre exécution de flux à l’aide de GetExecutionFlowSnapshot pour vous aider à effectuer un débogage en cas de problème lors de l’exécution.