Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

951
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda