Choix du type de flux de travail dans Step Functions - 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.

Choix du type de flux de travail dans Step Functions

Lorsque vous créez une machine à états, vous sélectionnez un type Standard ou Express. Le type par défaut pour les machines à états est Standard. Une machine à états dont le type est Standard est appelée flux de travail standard et une machine à états dont le type est Express est appelée flux de travail express.

Pour les flux de travail Standard et Express, vous définissez votre machine à états à l'aide duUtiliser Amazon States Language pour définir les flux de travail Step Functions. Les exécutions de vos machines à états se comporteront différemment selon le type que vous sélectionnez.

Important

Le type de flux de travail que vous choisissez ne peut pas être modifié une fois que vous avez créé la machine à états.

Les flux de travail standard et express peuvent démarrer automatiquement en réponse à des événements tels que les HTTP demandes d'Amazon API Gateway (entièrement gérées APIs à grande échelle), les règles de l'IoT et plus de 140 autres sources d'événements sur Amazon EventBridge.

Les flux de travail standard sont idéaux pour les flux de travail de longue durée (jusqu'à un an), durables et contrôlables. Vous pouvez récupérer l'historique complet des exécutions à l'aide des Step Functions API jusqu'à 90 jours après la fin de votre exécution. Les flux de travail standard suivent un modèle « une seule fois », dans lequel vos tâches et vos états ne sont jamais exécutés plus d'une fois, sauf si vous avez spécifié un Retry comportement dans. ASL Cela rend les flux de travail standard adaptés à l'orchestration d'actions non idempotentes, telles que le démarrage d'un EMR cluster Amazon ou le traitement des paiements. Les exécutions de flux de travail standard sont facturées en fonction du nombre de transitions d'état traitées.

Les flux de travail Express sont idéaux pour les charges de travail liées au traitement d'événements à volume élevé, telles que l'ingestion de données IoT, le traitement et la transformation de données en streaming, ainsi que les backends d'applications mobiles. Ils peuvent durer jusqu'à cinq minutes. Express Workflows utilise un at-least-oncemodèle dans lequel une exécution peut être exécutée plusieurs fois. Express Workflows est donc idéal pour orchestrer des actions idempotentes telles que la transformation des données d'entrée et le stockage au moyen d'une PUT action dans Amazon DynamoDB. Les exécutions d'Express Workflow sont facturées en fonction du nombre d'exécutions, de la durée totale d'exécution et de la mémoire consommée pendant l'exécution.

Astuce

Pour déployer un exemple de flux de travail Express, consultez Parallel State dans The AWS Step Functions Workshop.

Comparaison des types de flux de travail Standard et Express

Type/ Catégorie Workflows standard Flux de travail express : synchrones et asynchrones
Durée maximum Un an Cinq minutes
Taux de début d'exécution pris en charge

Pour plus d'informations sur les quotas liés au taux de démarrage d'exécution pris en charge, consultezQuotas liés à la limitation API des actions.

Pour plus d'informations sur les quotas liés au taux de démarrage d'exécution pris en charge, consultezQuotas liés à la limitation API des actions.

Taux de transition d'état pris en charge

Pour plus d'informations sur les quotas liés au taux de transition entre États pris en charge, voirQuotas liés à l'étranglement de l'État.

Aucune limite
Tarification Tarification en fonction du nombre de transitions entre États. Une transition d'état est comptabilisée chaque fois qu'une étape de votre exécution est terminée. Prix calculé en fonction du nombre d'exécutions, de leur durée et de leur consommation de mémoire.
Historique d'exécution

Les exécutions peuvent être répertoriées et décrites avec Step FunctionsAPIs. Les exécutions peuvent être déboguées visuellement via la console. Ils peuvent également être inspectés dans les CloudWatch journaux en activant la journalisation sur votre machine d'état.

Pour plus d'informations sur le débogage des exécutions de flux de travail standard dans la console, consultez Afficher les détails de l'exécution du flux de travail dans Step Functions etAffichage et débogage des exécutions.

Historique d'exécution illimité, c'est-à-dire autant d'entrées d'historique d'exécution conservées que vous pouvez en générer dans un délai de 5 minutes.

Les exécutions peuvent être inspectées dans CloudWatch Logs ou dans la console Step Functions en activant la journalisation sur votre machine d'état.

Pour plus d'informations sur le débogage des exécutions d'Express Workflow dans la console, consultez Afficher les détails de l'exécution du flux de travail dans Step Functions etAffichage et débogage des exécutions.

Sémantique d'exécution Exécution du flux de travail en une seule fois.

Workflows express asynchrones : exécution d'un t-least-once flux de travail.

Flux de travail express synchrones : exécution d'un t-most-once flux de travail.

Intégrations de service Prend en charge toutes les intégrations de services et les modèles. Prend en charge toutes les intégrations de services.
Note

Express Workflows ne prend pas en charge les modèles d'intégration des services Job-run (.sync) ou Callback (.waitForTaskToken).

Activités Pris en charge Non pris en charge

Workflows express synchrones et asynchrones dans Step Functions

Vous pouvez choisir deux types de flux de travail express : les flux de travail express asynchrones et les flux de travail express synchrones.

  • Les flux de travail express asynchrones renvoient une confirmation indiquant que le flux de travail a été démarré, mais n'attendez pas qu'il soit terminé. Pour obtenir le résultat, vous devez interroger les CloudWatch journaux du service. Vous pouvez utiliser des flux de travail express asynchrones lorsque vous n'avez pas besoin de réponse immédiate, tels que des services de messagerie ou des traitements de données dont les autres services ne dépendent pas. Vous pouvez démarrer des flux de travail express asynchrones en réponse à un événement, par un flux de travail imbriqué dans Step Functions ou en utilisant l'appel. StartExecution API

  • Les flux de travail express synchrones démarrent un flux de travail, attendent qu'il soit terminé, puis renvoient le résultat. Les flux de travail express synchrones peuvent être utilisés pour orchestrer des microservices. Avec Synchronous Express Workflows, vous pouvez développer des applications sans avoir à développer de code supplémentaire pour gérer les erreurs, réessayer ou exécuter des tâches parallèles. Vous pouvez exécuter des flux de travail express synchrones invoqués depuis Amazon API Gateway ou en utilisant l'StartSyncExecutionAPIappel. AWS Lambda

    Note

    Si vous exécutez Step Functions Express Workflows de manière synchrone depuis la console, la StartSyncExecution demande expire au bout de 60 secondes. Pour exécuter les flux de travail Express de manière synchrone pendant une durée maximale de cinq minutes, faites la StartSyncExecution demande à l'aide de la commande AWS SDK or AWS Command Line Interface (AWS CLI) au lieu de la console Step Functions.

    Les API appels d'exécution synchrone Express ne contribuent pas aux limites de capacité existantes du compte. Step Functions fournit des capacités à la demande et s'adapte automatiquement à une charge de travail soutenue. Les pics de charge de travail peuvent être limités jusqu'à ce que la capacité soit disponible.

Garanties d'exécution dans les flux de travail de Step Functions

Workflows standard Flux de travail express asynchrones Flux de travail express synchrones
Exécution du flux de travail en une seule fois Exécution d'un t-least-once flux de travail Exécution d'un t-most-once flux de travail
L'état d'exécution persiste en interne entre les transitions d'état. L'état d'exécution ne persiste pas entre les transitions d'état. L'état d'exécution ne persiste pas entre les transitions d'état.
Renvoie automatiquement une réponse idempotente au démarrage d'une exécution portant le même nom qu'un flux de travail en cours d'exécution. Le nouveau flux de travail ne démarre pas et une exception est déclenchée une fois que le flux de travail en cours est terminé. L'impuissance n'est pas gérée automatiquement. Le démarrage de plusieurs flux de travail portant le même nom entraîne des exécutions simultanées. Peut entraîner une perte de l'état du flux de travail interne si la logique de la machine à états n'est pas idempotente. L'impuissance n'est pas gérée automatiquement. Step Functions attend le début d'une exécution et renvoie le résultat de la machine à états une fois l'exécution terminée. Les flux de travail ne redémarrent pas en cas d'exception.

Les données de l'historique d'exécution ont été supprimées après 90 jours. Les noms des flux de travail peuvent être réutilisés après la suppression des données out-of-date d'exécution.

Pour répondre aux exigences de conformité, organisationnelles ou réglementaires, vous pouvez réduire la période de conservation de l'historique d'exécution à 30 jours en envoyant une demande de quota. Pour ce faire, utilisez le AWS Support Center Console et créez un nouveau boîtier.

L'historique d'exécution n'est pas enregistré par Step Functions. La journalisation doit être activée via Amazon CloudWatch Logs. L'historique d'exécution n'est pas enregistré par Step Functions. La journalisation doit être activée via Amazon CloudWatch Logs.