Uma aplicação legada foi migrada para uma função Lambda que realiza muitas chamadas de API de terceiros para extrair dados no final do mês e, em seguida, os processa para produzir relatórios mensais. O provedor de terceiros introduziu limites: um número fixo de chamadas de API por minuto e por dia (fornecido nos cabeçalhos de resposta), retornando erros quando os limites são excedidos. A execução completa do processamento de dados pode agora levar dias se o aplicativo precisar diminuir o ritmo para evitar exceder os limites. Qual é a maneira mais operacionalmente eficiente de refatorar este fluxo de trabalho serverless para respeitar esses limites?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Use uma máquina de estado do AWS Step Functions para orquestrar as chamadas. Quando falhas indicarem limites de taxa, use um estado Wait para atrasar chamadas futuras antes de tentar novamente..
Por que esta é a resposta
A máquina de estado do AWS Step Functions é a solução mais eficiente porque permite orquestrar o fluxo de trabalho de forma programática. O estado Wait (Esperar) é ideal para introduzir atrasos dinâmicos, permitindo que a função Lambda aguarde um período específico antes de tentar novamente as chamadas de API, respeitando os limites de taxa. Isso evita o retrabalho e o consumo desnecessário de recursos. Enviar tarefas para uma fila SQS e ter uma Lambda consultando a uma taxa fixa pode não se adaptar dinamicamente aos limites de taxa variáveis ou a falhas inesperadas. Criar uma métrica do CloudWatch Logs e um alarme para interromper a função não é eficiente, pois interromperia o processamento e exigiria um reinício manual ou um mecanismo de recuperação complexo. Usar o Kinesis Data Firehose para agrupar e entregar ao S3 não aborda diretamente a necessidade de respeitar limites de taxa em tempo real durante as chamadas de API.
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