Seuil de défaillance toléré pour l'état de la carte distribuée - 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.

Seuil de défaillance toléré pour l'état de la carte distribuée

Lorsque vous orchestrez des charges de travail parallèles à grande échelle, vous pouvez également définir un seuil de défaillance toléré. Cette valeur vous permet de spécifier le nombre maximum ou le pourcentage d'éléments ayant échoué comme seuil d'échec pour une exécution cartographique. En fonction de la valeur que vous spécifiez, votre Map Run échoue automatiquement si elle dépasse le seuil. Si vous spécifiez les deux valeurs, le flux de travail échoue lorsqu'il dépasse l'une ou l'autre de ces valeurs.

La spécification d'un seuil vous permet d'échouer à un certain nombre d'éléments avant que la totalité de la Map Run échoue. Step Functions renvoie une States.ExceedToleratedFailureThreshold erreur lorsque le Map Run échoue parce que le seuil spécifié est dépassé.

Note

Step Functions peut continuer à exécuter des flux de travail secondaires dans un Map Run même après le dépassement du seuil d'échec toléré, mais avant que le Map Run échoue.

Pour spécifier la valeur du seuil dans Workflow Studio, sélectionnez Définir un seuil d'échec toléré dans Configuration supplémentaire dans le champ Paramètres d'exécution.

Pourcentage de défaillances tolérées

Définit le pourcentage d'éléments défaillants à tolérer. Votre Map Run échoue si cette valeur est dépassée. Step Functions calcule le pourcentage d'éléments ayant échoué en divisant le nombre total d'éléments défaillants ou ayant dépassé le délai imparti par le nombre total d'éléments. Vous devez spécifier une valeur comprise entre zéro et 100. La valeur en pourcentage par défaut est zéro, ce qui signifie que le flux de travail échoue si l'une de ses exécutions de flux de travail enfant échoue ou expire. Si vous spécifiez le pourcentage comme 100, le flux de travail n'échouera pas même si toutes les exécutions de flux de travail enfants échouent.

Vous pouvez également spécifier le pourcentage comme chemin de référence vers une paire clé-valeur existante dans l'entrée d'état de votre carte distribuée. Ce chemin doit être résolu en un entier positif compris entre 0 et 100 au moment de l'exécution. Vous spécifiez le chemin de référence dans le ToleratedFailurePercentagePath sous-champ.

Par exemple, avec les données d'entrée suivantes :

{ "percentage": 15 }

Vous pouvez spécifier le pourcentage en utilisant un chemin de référence vers cette entrée comme suit :

{ ... "Map": { "Type": "Map", ... "ToleratedFailurePercentagePath": "$.percentage" ... } }
Important

Vous pouvez spécifier l'un ToleratedFailurePercentage ou l'autreToleratedFailurePercentagePath, mais pas les deux dans la définition de l'état de votre carte distribuée.

Nombre de défaillances tolérées

Définit le nombre d'éléments défaillants à tolérer. Votre Map Run échoue si cette valeur est dépassée.

Vous pouvez également spécifier le nombre comme chemin de référence vers une paire clé-valeur existante dans l'entrée d'état de votre carte distribuée. Ce chemin doit être résolu en un entier positif au moment de l'exécution. Vous spécifiez le chemin de référence dans le ToleratedFailureCountPath sous-champ.

Par exemple, avec les données d'entrée suivantes :

{ "count": 10 }

Vous pouvez spécifier le numéro en utilisant un chemin de référence vers cette entrée comme suit :

{ ... "Map": { "Type": "Map", ... "ToleratedFailureCountPath": "$.count" ... } }
Important

Vous pouvez spécifier l'un ToleratedFailureCount ou l'autreToleratedFailureCountPath, mais pas les deux dans la définition de l'état de votre carte distribuée.