Exécutez des 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écutez des flux Amazon Bedrock de manière asynchrone avec des exécutions de flux

Avec les exécutions de flux, vous pouvez exécuter des flux Amazon Bedrock de manière asynchrone. Cela permet à vos flux de fonctionner pendant des durées plus longues et permet également de contrôler la situation 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 beaucoup plus longtemps : les nœuds individuels peuvent fonctionner jusqu'à cinq minutes, et l'ensemble de votre flux peut s'exécuter jusqu'à 24 heures.

Note

Les exécutions de flux sont en version préliminaire pour Amazon Bedrock et sont susceptibles d'être modifiées.

Autorisations requises pour exécuter des exécutions de flux

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

Vous pouvez créer une exécution de flux dans la console ou en utilisant l'StartFlowExecutionopération.

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

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

  3. Si vous n'êtes pas encore dans le générateur de flux, procédez comme suit :

    1. Connectez-vous à l' AWS Management Console aide d'un rôle IAM avec les autorisations Amazon Bedrock et ouvrez la console Amazon Bedrock sur Getting Started with the. AWS Management Console

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

  4. Choisissez l'onglet Exécutions, puis sélectionnez Créer une exécution.

  5. Dans la boîte de dialogue Créer une exécution, entrez ce qui suit

    1. Dans Nom, entrez le nom de l'exécution du flux.

    2. Pour Sélectionner un alias, choisissez l'alias du flux que vous souhaitez utiliser.

    3. Pour la saisie rapide, entrez l'invite avec laquelle vous souhaitez démarrer le flux.

    4. Choisissez Create pour créer l'exécution du flux et commencer à l'exécuter.

  6. Sur la page des détails du flux, choisissez l'onglet Exécutions et prenez note de l'état de l'exécution du flux dans État d'exécution.

  7. (Facultatif) Choisissez une exécution pour ouvrir le flux et voir le résumé de l'exécution.

    Dans Sortie d'exécution, vous pouvez voir la sortie du flux.

  8. (Facultatif) Pour arrêter l'exécution d'un flux, sélectionnez l'exécution et choisissez Arrêter.

API
Lancer l'exécution d'un 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'ID de flux et l'ID 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 rapide dans le content champ.

  • name — Nom pour l'exécution du flux.

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

La réponse est l'Amazon Resource Name (ARN) de l'exécution du flux. Vous pouvez utiliser le executionArn pour interroger l'état actuel du flux, 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" }
Suivez la progression de l'exécution d'un flux

Utilisez l'GetFlowExecutionopération pour obtenir l'état actuel d'un flux que vous identifiez par son ARN d'exécution. L'état d'un flux est soit RunningSucceeded,Failed,TimedOut, soitAborted.

{ "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 errors tableau, comme dans l'exemple suivant :

"errors": [{ "nodeName": "LambdaNode1", "errorType": "ExecutionTimedOut", "message": "Call to lambda function timed out" }],
Obtenir les 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é en premier, appelez GetFlowExecution et assurez-vous que la valeur du status champ dans la réponse estSucceeded.

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'flowOutputEventobjetsflowExecutionEvents. Par exemple, vous pouvez obtenir le résultat d'un flux dans le content champ :

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

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

Affichage des événements

Pour aider à débuguer l'exécution de votre flux, vous pouvez utiliser l'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 eventType requête Node pour voir les entrées et sorties de tous les nœuds (y compris les nœuds intermédiaires) dans la réponse similaire à 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 aperçu de l'exécution de votre 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.

  • définitionDé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 — L'ID du flux.

  • FlowVersion — Version du flux.

{ "customerEncryptionKeyArn": null, "definition": "{flow-definition}", "executionRoleArn": "arn:aws:iam::111122223333:role/name", "flowAliasIdentifier": "TSTALIASID", "flowIdentifier": "FLOWID", "flowVersion": "DRAFT" }
Répertoriez 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 l'état 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êter l'exécution d'un 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 du flux

L'exécution d'un flux peut avoir l'un des statuts suivants :

  • En cours — L'exécution du flux est en cours.

  • Réussi : l'exécution du flux s'est terminée avec succès.

  • Échec — L'exécution du flux a échoué en raison 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 d'exécution sont automatiquement supprimées au bout de 90 jours.

Bonnes pratiques pour les exécutions de flux

Tenez compte des points 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 utiliser ces résultats pour créer une certaine logique autour de votre flux.

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