Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

950
Vistas
AWS StepFunction Lambda espera por token: ¿cuándo ocurre la espera?

AWS StepFunctions admite un modelo de devolución de llamada. La documentación dice:

Las tareas de devolución de llamada proporcionan una forma de pausar un flujo de trabajo hasta que se devuelva un token de tarea. Es posible que una tarea deba esperar la aprobación humana, integrarse con un tercero o llamar a sistemas heredados. Para tareas como estas, puede pausar Step Functions indefinidamente y esperar a que se complete un proceso o flujo de trabajo externo. Para estas situaciones, Step Functions le permite pasar un token de tarea a algunos servicios integrados. La tarea se detendrá hasta que reciba ese token de tarea con una llamada SendTaskSuccess o SendTaskFailure.

Si una máquina de estado se define usando CDK para llamar a una lambda como parte de un mapa de función de paso (es decir, está en un bucle):

 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();

¿Cuándo ocurre la espera de token?

  1. ¿Es después de invocar la lambda por primera vez?
  2. ¿Es antes de que se invoque la lambda por primera vez?
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La espera del token se produce después de que se haya ejecutado Lambda con la integración IntegrationPattern.WAIT_FOR_TASK_TOKEN . Aquí está el patrón:

  1. Cuando se le llame a su lambda, AWS le pasará un token en el evento Step Function si lo especifica en la carga útil, por ejemplo, aquí especifico que el token esté en la carga útil JSON suministrada a Lambda en la ruta de $.token y el resto de la entrada en $.input :
 LambdaInvoke myLambdaStep= LambdaInvoke.Builder.create(this, "MyLambdaStep") .lambdaFunction(myLambdaFunction) .integrationPattern(IntegrationPattern.WAIT_FOR_TASK_TOKEN) .payload(TaskInput.fromObject(Map.of("token", JsonPath.getTaskToken(), "input", JsonPath.stringAt("$.input")))) .build();
  1. Dentro de su función Lambda, usted es responsable de analizar el token del evento y pasar este token a algún agente externo: en algún momento, ese agente debe llamar a sendTaskSuccess o sendTaskFailure con ese token para indicar que el trabajo que lleva a cabo ese agente Esta completo. El agente externo puede ser cualquier cosa (otro Lambda, un servidor EC2 que hace algún trabajo por usted, un webhook externo, cualquier cosa; solo necesita volver a llamar a AWS cuando finalice su trabajo).

  2. Cuando AWS recibe la llamada de su agente, llamará al siguiente paso apropiado en su máquina de pasos, según la llamada exitosa o fallida realizada por el agente.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda