Uma máquina de estado do Step Functions pausa quando recebe um pedido até que outro serviço confirme o pedido adicionando um registro a uma tabela DynamoDB. Qual solução permitirá que a máquina de estado retome o processamento após o aparecimento do registro do DynamoDB?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Assine uma função Lambda para o stream do DynamoDB para que a função seja executada quando um novo registro for adicionado. Quando a função receber o registro apropriado, chame o comando redrive execution do Step Functions na máquina de estado em execução..
Por que esta é a resposta
A opção correta utiliza um padrão de integração assíncrona eficiente. Ao assinar uma função Lambda ao DynamoDB Stream, a função é acionada apenas quando há uma atualização relevante na tabela, evitando polling desnecessário. A função Lambda pode então usar o comando SendTaskSuccess (ou SendTaskHeartbeat se for um estado de tarefa de longa duração) do Step Functions para notificar a máquina de estado que o evento esperado ocorreu, permitindo que ela continue seu fluxo. A primeira opção, de polling contínuo, é ineficiente e pode gerar custos desnecessários, além de introduzir latência. A terceira opção, de parar e iniciar uma nova execução, perderia o contexto da execução original e não é a forma correta de retomar um fluxo. A quarta opção, de uma função Lambda consultando continuamente, também é ineficiente e pode atingir o tempo limite, resultando em falhas.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão