3 votes

AWS StepFunction Lambda attend un jeton - quand l'attente se produit-elle ?

Les AWS StepFunctions prennent en charge un modèle de rappel . La documentation se lit comme suit :

Les tâches de rappel permettent de mettre en pause un flux de travail jusqu'à ce qu'un jeton de tâche soit renvoyé. Une tâche peut avoir besoin d'attendre une approbation humaine, d'intégrer avec un tiers, ou appeler des systèmes existants. Pour ce type de tâches, vous pouvez pouvez mettre Step Functions en pause indéfiniment et attendre l'achèvement d'un processus ou d'un workflow processus ou flux de travail externe. Dans ces situations, les Step Functions vous permet de transmettre un jeton de tâche à certains services intégrés. La tâche se mettra en pause jusqu'à ce qu'elle reçoive ce jeton de tâche en retour avec un message de type SendTaskSuccess ou SendTaskFailure.

Si une machine à états est définie à l'aide de CDK pour appeler un lambda dans le cadre d'une carte Step Function (c'est-à-dire qu'elle est dans une boucle) :

LambdaInvoke myLambdaStepFunction = LambdaInvoke.Builder.create(this, "MyLambdaStepFunction ")
                                                      .lambdaFunction(myLambdaFunction)
                                                      .integrationPattern(IntegrationPattern.WAIT_FOR_TASK_TOKEN)
                                                      .build();

stepfunctions.Map loopSteps = stepfunctions.Map.Builder.create(this, "LambdaLoop")
                                                    .maxConcurrency(1)
                                                    .build();
loopSteps.iterator(myLambdaStepFunction);

StateMachine stateMachine = StateMachine.Builder.create(this, "StateMachine")
                                             .stateMachineType(StateMachineType.STANDARD)
                                             .timeout(Duration.minutes(5))
                                             .definition(deployAllIncrementallySteps)
                                             .build();

quand l'attente du jeton a-t-elle lieu ?

  1. Est-ce après que la lambda soit invoquée pour la première fois ?
  2. Est-ce avant que le lambda soit invoqué pour la première fois ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X