Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Démarrer une nouvelle machine à AWS Step Functions états à partir d'une exécution en cours

Mode de mise au point
Démarrer une nouvelle machine à AWS Step Functions états à partir d'une exécution en cours - AWS Step Functions

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.

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.

Step Functions intègre sa propre API en tant que service d'intégration. Apprenez à utiliser Step Functions pour démarrer une nouvelle exécution d'une machine à états directement à partir de l'état de la tâche d'une exécution en cours. Utilisez des exécutions de workflows imbriqués pour réduire la complexité de vos principaux workflows et réutiliser les processus courants lors de la création de nouveaux workflows.

Principales fonctionnalités de l'intégration d'Optimized Step Functions

Notez qu'il n'y a aucune optimisation pour les modèles d'Attendre un rappel avec un jeton de tâcheintégration Réponse à la requête ou.

Pour plus d’informations, consultez les ressources suivantes :

Step Functions optimisées APIs

Exemples de flux de travail

L'exemple suivant inclut un état Task qui démarre l'exécution d'une autre machine d'état et attend qu'elle se termine.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync:2", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

L'exemple suivant inclut un état Task qui démarre l'exécution d'une autre machine d'état.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution", "Parameters":{ "Input":{ "Comment": "Hello world!" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

L'exemple suivant inclut un état Task qui implémente le modèle d'intégration de service de rappel.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.waitForTaskToken", "Parameters":{ "Input":{ "Comment": "Hello world!", "token.$": "$$.Task.Token" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Pour associer une exécution de flux de travail imbriquée à l'exécution parent qui l'a démarrée, transmettez un paramètre spécialement nommé qui inclut l'ID d'exécution extrait de l'objet Context. Lorsque vous démarrez une exécution imbriquée, utilisez un paramètre nommé AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID. Transmettez l'ID d'exécution en l'ajoutant .$ au nom du paramètre et en faisant référence à l'ID dans l'objet Context avec. $$.Execution.Id Pour de plus amples informations, veuillez consulter Accès à l'objet Context.

{ "Type":"Task", "Resource":"arn:aws:states:::states:startExecution.sync", "Parameters":{ "Input":{ "Comment": "Hello world!", "AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id" }, "StateMachineArn":"arn:aws:states:us-east-1:123456789012:stateMachine:HelloWorld", "Name":"ExecutionName" }, "End":true }

Les machines d'état imbriquées renvoient les éléments suivants :

Ressource Sortie
startExecution.sync Chaîne
startExecution.sync:2 JSON

Ces deux éléments attendent que la machine d'état imbriquée se termine, mais renvoient des formats Output différents. Par exemple, si vous créez une fonction Lambda qui renvoie l'objet{ "MyKey": "MyValue" }, vous obtiendrez les réponses suivantes :

Pour startExecution.sync :

{ <other fields> "Output": "{ \"MyKey\": \"MyValue\" }" }

Pour startExecution.sync:2 :

{ <other fields> "Output": { "MyKey": "MyValue" } }

Configuration des autorisations IAM pour les machines à états imbriqués

Une machine d'état parent détermine si une machine d'état enfant a terminé son exécution à l'aide d'interrogations et d'événements. Le sondage nécessite une autorisation, states:DescribeExecution tandis que les événements envoyés EventBridge à Step Functions nécessitent des autorisations pour events:PutTargetsevents:PutRule, etevents:DescribeRule. Si ces autorisations sont absentes de votre rôle IAM, un délai peut s'écouler avant qu'une machine d'état parent ne soit informée de la fin de l'exécution de la machine d'état enfant.

Pour une machine à états nécessitant l'exécution d'un seul flux de travail imbriqué, utilisez une politique IAM qui limite les autorisations à cette machine à états. StartExecution

Politiques IAM pour appeler des flux de travail Step Functions imbriqués

Pour une machine à états nécessitant l'exécution d'un seul flux de travail imbriqué, utilisez une politique IAM qui limite les autorisations à cette machine à états. StartExecution

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] } ] }

Pour plus d’informations, consultez les ressources suivantes :

Synchronous
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:execution:[[stateMachineName]]:*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:[[region]]:[[accountId]]:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule" ] } ] }
Asynchronous
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "states:StartExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:stateMachine:[[stateMachineName]]" ] }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StopExecution" ], "Resource": [ "arn:aws:states:[[region]]:[[accountId]]:execution:[[stateMachineName]]:*" ] }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:[[region]]:[[accountId]]:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule" ] } ] }
types d'ARN requis

Dans la politique relative à Synchrone, notez que cela states:StartExecution nécessite un ARN de machine à états alors que states:DescribeExecution cela states:StopExecution nécessite un ARN d'exécution.

Si vous combinez par erreur les trois actions, le JSON sera valide mais la politique IAM sera incorrecte. Une politique incorrecte peut entraîner le blocage des flux de travail et/ou des problèmes d'accès lors de l'exécution du flux de travail.

Pour de plus amples informations sur les exécutions de workflows imbriqués, veuillez consulter Lancer des exécutions de flux de travail à partir d'un état de tâche dans Step Functions.

Sur cette page

Rubrique précédente :

Amazon SQS
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.