0Pricing
AWS Solutions Architect · Aula

Integrações: Lambda, HTTP e simulação

Conecte métodos do API Gateway a integrações de proxy do Lambda, endpoints HTTP upstream e integrações simuladas para testes.

Integrações: Lambda, HTTP e simulação é uma aula grátis de AWS Solutions Architect no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AWS Solutions Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AWS Solutions Architect inclui 4 aulas no total.

Visão geral dos tipos de integração do API Gateway

Todo método do API Gateway precisa de uma integração com um backend — o sistema que processa a requisição e retorna uma resposta. O API Gateway oferece suporte a cinco tipos de integração: Lambda Proxy, Lambda Custom, HTTP Proxy, HTTP Custom e Mock. As APIs HTTP oferecem suporte somente a Lambda Proxy e HTTP Proxy. As APIs REST são compatíveis com os cinco tipos. A escolha da integração correta determina quanto controle você terá sobre a transformação da requisição e da resposta.

Integração Lambda Proxy

Com a integração Lambda Proxy, o API Gateway transmite toda a requisição HTTP ao Lambda como um objeto de evento estruturado, incluindo cabeçalhos, strings de consulta, parâmetros de caminho, corpo e contexto. Sua função do Lambda é responsável por retornar um objeto de resposta devidamente formatado, com statusCode, headers e body. Este é o padrão mais simples e comum — não são necessários modelos de mapeamento, e o Lambda controla toda a resposta.

def lambda_handler(event, context):
    # event.httpMethod, event.path, event.queryStringParameters
    # event.headers, event.body
    user_id = event['pathParameters']['userId']
    return {
        'statusCode': 200,
        'headers': {'Content-Type': 'application/json'},
        'body': '{"userId": "' + user_id + '", "name": "Alice"}'
    }

Integração Lambda sem proxy (personalizada)

Com a integração Lambda Non-Proxy (personalizada), o API Gateway usa modelos de mapeamento (Apache Velocity Template Language, VTL) para transformar a requisição antes de enviá-la ao Lambda e transforma a resposta do Lambda antes de devolvê-la ao cliente. Sua função do Lambda recebe uma carga útil personalizada e limpa, não o evento bruto do API Gateway. Isso separa as preocupações de transporte da lógica de negócios, mas exige a manutenção de modelos VTL. Use a integração personalizada quando quiser uma separação rigorosa entre o contrato da API e o contrato do backend.

## Integration Request Mapping Template (VTL)
#set($inputRoot = $input.path('$'))
{
  'userId': '$input.params('userId')',
  'action': '$inputRoot.action',
  'timestamp': '$context.requestTime'
}

Integração HTTP Proxy

A integração HTTP Proxy encaminha requisições diretamente para um endpoint HTTP externo (que pode ser uma instância do EC2, um ALB, um servidor local ou qualquer URL pública) sem transformação. O API Gateway repassa a requisição e retorna a resposta do backend ao cliente. Essa opção é ideal para migrar backends REST existentes para o API Gateway e adicionar limitação de taxa, monitoramento e chaves de API sem alterar o código do backend. Oferece suporte a backends HTTPS com verificação de certificado.

# Create HTTP proxy integration via REST API
aws apigateway put-integration \
  --rest-api-id 'abc123' \
  --resource-id 'xyz789' \
  --http-method GET \
  --type HTTP_PROXY \
  --integration-http-method GET \
  --uri 'https://my-backend.example.com/api/users/{userId}'

Integração HTTP personalizada (sem proxy)

A integração HTTP Custom também encaminha requisições para um endpoint HTTP externo, mas usa modelos de mapeamento para transformar tanto a requisição enviada ao backend quanto a resposta recebida. Isso é útil quando a interface do API Gateway e a API do backend têm contratos diferentes — você pode converter uma chamada de API REST em SOAP legado ou em um formato personalizado e transformar a resposta do backend novamente em uma estrutura JSON limpa para o cliente. Isso adiciona complexidade, mas oferece o maior controle para integrações legadas.

Integração com serviços da AWS

A integração com AWS Service conecta o API Gateway diretamente aos serviços da AWS, sem um intermediário do Lambda. Por exemplo, você pode configurar um endpoint POST que grava diretamente uma mensagem no SQS, publica no SNS ou inicia uma execução do Step Functions. Isso reduz a latência e elimina os custos de funções do Lambda em operações simples de roteamento. A integração exige a configuração de uma função do IAM e modelos de mapeamento para formatar corretamente a chamada à API da AWS.

# Direct API Gateway → SQS integration
# Integration Request URI:
https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue

# Integration Request Body Mapping Template:
Action=SendMessage&MessageBody=$input.body

Integração Mock para Desenvolvimento e Testes

Integração Mock configura o API Gateway para retornar uma resposta predefinida sem chamar nenhum back-end. Você define a resposta no modelo de mapeamento da resposta da integração. As integrações Mock são perfeitas para: desenvolver a API antes de o back-end estar pronto (as equipes de front-end podem começar imediatamente), testar configurações da API, retornar cabeçalhos CORS padrão ou fornecer um substituto para parceiros terceirizados durante o desenvolvimento. Os endpoints Mock também podem ser usados para bloquear versões obsoletas da API, retornando 410 Gone.

# Integration Response for Mock
# Integration Response Mapping Template:
{
  'statusCode': 200,
  'message': 'This is a mock response',
  'timestamp': '$context.requestTime'
}

# Method Response: map status code 200 to this template

Configuração de CORS no API Gateway

CORS (compartilhamento de recursos entre origens) deve ser habilitado quando um cliente de navegador em um domínio chama sua API em outro domínio. A API HTTP oferece configuração de CORS com um clique; a API REST exige que você crie um método OPTIONS com uma integração Mock que retorne os cabeçalhos CORS necessários (Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers). A integração de proxy do Lambda também exige que sua função Lambda retorne cabeçalhos CORS na resposta.

# HTTP API CORS config (simple)
aws apigatewayv2 update-api \
  --api-id 'abc123' \
  --cors-configuration '{
    "AllowOrigins": ["https://myapp.example.com"],
    "AllowMethods": ["GET", "POST", "OPTIONS"],
    "AllowHeaders": ["Content-Type", "Authorization"]
  }'

Validação de Solicitações na API REST

A API REST oferece validação de solicitações: o API Gateway pode validar se os parâmetros obrigatórios da string de consulta, os cabeçalhos e o esquema do corpo da solicitação estão presentes e formatados corretamente antes de invocar o back-end. Isso reduz invocações desnecessárias do Lambda causadas por solicitações malformadas e retorna automaticamente erros 400 padronizados. Defina um modelo de solicitação usando o esquema JSON e associe-o ao método para habilitar a validação do corpo. A validação de solicitações não está disponível na API HTTP.

Tempos Limite das Integrações

O API Gateway tem um tempo limite de integração padrão de 29 segundos para a API REST e a API HTTP (máximo para a API REST e fixo para o proxy da API HTTP). Se o back-end levar mais de 29 segundos, o API Gateway retornará um erro 504 Gateway Timeout. Isso significa que as funções Lambda invocadas de forma síncrona pelo API Gateway devem ser concluídas em até 29 segundos, embora o próprio Lambda ofereça suporte a tempos limite de 15 minutos. Para operações demoradas, use um padrão assíncrono: o API Gateway aciona o Lambda, que inicia uma tarefa assíncrona e retorna imediatamente um ID da tarefa.

Escolhendo o Tipo de Integração Adequado

Guia de decisão para tipos de integração: Proxy do Lambda: mais comum, mais simples e com controle total da solicitação no Lambda; Lambda personalizado: quando você precisa transformar a solicitação ou a resposta na camada do gateway; Proxy HTTP: para back-ends HTTP existentes e cenários de migração; HTTP personalizado: para traduzir formatos de APIs legadas; AWS Service: para eliminar o Lambda em roteamentos simples para SQS/SNS/DynamoDB; Mock: para substitutos de desenvolvimento e solicitações preliminares de CORS. No exame SAA-C03, os padrões Proxy do Lambda e Proxy HTTP são os mais cobrados.

Verificação Rápida

Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) desta lição.

Recapitulação da Lição

Nesta lição, você aprendeu que a integração Proxy do Lambda passa a solicitação completa ao Lambda, que controla a resposta — é a integração mais simples e comum; o Proxy HTTP encaminha solicitações para back-ends HTTP existentes, adicionando recursos do API Gateway sem alterar o back-end; e a integração Mock retorna respostas predefinidas para o desenvolvimento e os testes do front-end, sem nenhuma infraestrutura de back-end. A seguir, exploraremos a autorização do API Gateway com IAM, autorizadores do Lambda e Cognito.

Perguntas Frequentes

A aula “Integrações: Lambda, HTTP e simulação” é grátis?

Sim — o texto completo de “Integrações: Lambda, HTTP e simulação” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AWS Solutions Architect, atualize para CoddyKit PRO. O curso de AWS Solutions Architect inclui 4 aulas no total.

O que vou aprender em “Integrações: Lambda, HTTP e simulação”?

Conecte métodos do API Gateway a integrações de proxy do Lambda, endpoints HTTP upstream e integrações simuladas para testes. Você pratica AWS Solutions Architect com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AWS Solutions Architect?

Nenhuma experiência prévia é necessária. AWS Solutions Architect no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Integrações: Lambda, HTTP e simulação”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AWS Solutions Architect?

Sim. Cada aula de AWS Solutions Architect inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. API REST versus API HTTP versus API WebSocket
  2. Integrações: Lambda, HTTP e simulação
  3. Autorização: IAM, autorizadores do Lambda e Cognito
  4. Limitação, armazenamento em cache e planos de uso
← Voltar para AWS Solutions Architect