État du flux de travail cartographique - 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.

État du flux de travail cartographique

Utilisez l'Mapétat pour exécuter un ensemble d'étapes de flux de travail pour chaque élément d'un ensemble de données. Les itérations de Map l'état s'exécutent en parallèle, ce qui permet de traiter rapidement un ensemble de données. Maples états peuvent utiliser différents types d'entrées, notamment un JSON tableau, une liste d'objets Amazon S3 ou un CSV fichier.

Step Functions propose deux types de modes de traitement pour utiliser l'Mapétat dans vos flux de travail : le mode en ligne et le mode distribué.

Astuce

Pour déployer un exemple de flux de travail qui utilise un Map état dans votre Compte AWS, voir Module 5 - État du choix et état de la carte du AWS Step Functions Atelier.

Modes de traitement de l'état des cartes

Step Functions propose les modes de traitement suivants pour l'Mapétat en fonction de la manière dont vous souhaitez traiter les éléments d'un ensemble de données.

  • Inline — Mode de simultanéité limité. Dans ce mode, chaque itération de l'Mapétat s'exécute dans le contexte du flux de travail qui contient l'Mapétat. Step Functions ajoute l'historique d'exécution de ces itérations à l'historique d'exécution du flux de travail parent. Par défaut, Map les états s'exécutent en mode Inline.

    Dans ce mode, l'MapÉtat n'accepte qu'un JSON tableau en entrée. De plus, ce mode prend en charge jusqu'à 40 itérations simultanées.

    Pour de plus amples informations, veuillez consulter Utilisation de l'état de la carte en mode Inline dans les flux de travail Step Functions.

  • Distribué — Mode de simultanéité élevé. Dans ce mode, l'Mapétat exécute chaque itération en tant qu'exécution d'un flux de travail enfant, ce qui permet une simultanéité élevée de jusqu'à 10 000 exécutions parallèles de flux de travail enfant. Chaque exécution de flux de travail enfant possède son propre historique d'exécution distinct de celui du flux de travail parent.

    Dans ce mode, l'MapÉtat peut accepter un JSON tableau ou une source de données Amazon S3, telle qu'un CSV fichier, comme entrée.

    Pour de plus amples informations, veuillez consulter Mode distribué.

Le mode à utiliser dépend de la manière dont vous souhaitez traiter les éléments d'un ensemble de données. Utilisez l'Mapétat en mode Inline si l'historique d'exécution de votre flux de travail ne doit pas dépasser 25 000 entrées ou si vous n'avez pas besoin de plus de 40 itérations simultanées.

Utilisez l'Mapétat en mode distribué lorsque vous devez orchestrer des charges de travail parallèles à grande échelle répondant à une combinaison des conditions suivantes :

  • La taille de votre jeu de données dépasse 256 Ko.

  • L'historique des événements d'exécution du flux de travail dépasse 25 000 entrées.

  • Vous avez besoin d'une simultanéité de plus de 40 itérations parallèles.

Différences entre le mode en ligne et le mode distribué

Le tableau suivant met en évidence les différences entre les modes en ligne et distribué.

Mode en ligne Mode distribué
Supported data sources

Accepte un JSON tableau transmis depuis une étape précédente du flux de travail en entrée.

Accepte les sources de données suivantes en entrée :

  • JSONtableau transmis depuis une étape précédente du flux de travail

  • JSONfichier dans un compartiment Amazon S3 contenant un tableau

  • CSVfichier dans un compartiment Amazon S3

  • Liste d'objets Amazon S3

  • Inventaire Amazon S3

Map iterations

Dans ce mode, chaque itération de l'Mapétat s'exécute dans le contexte du flux de travail qui contient l'Mapétat. Step Functions ajoute l'historique d'exécution de ces itérations à l'historique d'exécution du flux de travail parent.

Dans ce mode, l'Mapétat exécute chaque itération en tant qu'exécution d'un flux de travail enfant, ce qui permet une simultanéité élevée de jusqu'à 10 000 exécutions parallèles de flux de travail enfant. Chaque exécution de flux de travail enfant possède son propre historique d'exécution distinct de celui du flux de travail parent.

Maximum concurrency for parallel iterations

Permet d'exécuter jusqu'à 40 itérations aussi simultanément que possible.

Vous permet d'exécuter jusqu'à 10 000 exécutions parallèles de flux de travail enfant pour traiter des millions d'éléments de données à la fois.

Input payload and event history sizes

Impose une limite de 256 Ko à la taille de la charge utile d'entrée et à 25 000 entrées dans l'historique des événements d'exécution.

Permet de contourner la limite de taille de la charge utile, car l'MapÉtat peut lire les entrées directement depuis les sources de données Amazon S3.

Dans ce mode, vous pouvez également contourner les limites de l'historique d'exécution, car les exécutions du flux de travail enfant lancées par l'MapÉtat conservent leur propre historique d'exécution distinct de l'historique d'exécution du flux de travail parent.

Monitoring and observability

Vous pouvez consulter l'historique d'exécution du flux de travail depuis la console ou en appelant l'GetExecutionHistoryAPIaction.

Vous pouvez également consulter l'historique des exécutions via CloudWatch X-Ray.

Lorsque vous exécutez un Map état en mode distribué, Step Functions crée une ressource Map Run. Une exécution de carte fait référence à un ensemble d'exécutions de flux de travail secondaires lancées par un état de carte distribuée. Vous pouvez consulter un Map Run dans la console Step Functions. Vous pouvez également invoquer l'DescribeMapRunAPIaction. Un Map Run envoie également des métriques à. CloudWatch

Pour de plus amples informations, veuillez consulter Afficher une carte distribuée Exécuter l'exécution dans Step Functions.