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 avec l'InvokeFlowopé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

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'StartFlowExecutionopération.

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

    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 indiqué dans 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 exécuter un flux, envoyez une StartFlowExecutiondemande avec un point de terminaison Agents for Amazon Bedrock Runtime. 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

Utilisez l'GetFlowExecutionopé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 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ébuguer l'exécution de votre flux, vous pouvez utiliser cette ListFlowExecutionEventsopé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'GetExecutionFlowSnapshotopé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 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'ListFlowExecutionsopé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'StopFlowExecutionopé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

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'StopFlowExecutionopé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

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 GetFlowExecutionjusqu'à ce que votre flux atteigne un état terminal (qui est autre chose queRunning).

  • Lorsque l'exécution de votre flux atteint un état terminal, utilisez ListFlowExecutionEventspour 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à l'aide du débogage si des problèmes surviennent lors de l'exécution.