Ir para o conteúdo

Como configurar minha API REST do API Gateway para passar parâmetros de string de consulta para uma função de backend do Lambda ou endpoint HTTP?

3 minuto de leitura
0

Preciso que a minha API REST do Amazon API Gateway passe parâmetros da string de consulta para uma função de backend do AWS Lambda ou um endpoint HTTP.

Breve descrição

Para configurar uma API REST para passar parâmetros da string de consulta para uma função de back-end do AWS Lambda, use uma integração personalizada do Lambda.

Para passar parâmetros da string de consulta para um endpoint HTTP, use uma integração HTTP personalizada.

Importante: certifique-se de fornecer os dados de entrada como carga útil da solicitação de integração. É uma prática recomendada usar um modelo de mapeamento para fornecer a carga útil. Para mais informações, consulte Exemplos de mapeamento de parâmetros para APIs REST no API Gateway.

Resolução

Passar parâmetros de string de consulta para uma função de backend do Lambda

Conclua as etapas a seguir:

  1. Abra o console da API Gateway e escolha sua API.
  2. No painel Recursos, escolha o método HTTP configurado.
    Observação: se houver mais de um método HTTP configurado para a API, repita essas etapas para cada método.
  3. No painel Execução do método, escolha Solicitação de método e, em seguida, Editar.
  4. Expanda a lista suspensa Parâmetros da string de consulta do URL e escolha Adicionar string de consulta.
  5. No campo Nome, insira pet.
  6. Escolha a caixa de seleção Obrigatório e escolha Salvar.
  7. Escolha a guia Solicitação de integração e, em seguida, Editar.
  8. Expanda Modelos de mapeamento e escolha Adicionar modelo de mapeamento.
  9. No campo Content-Type, insira application/json.
  10. No editor de modelos de mapeamento, copie e substitua o script atual pelo seguinte código:
{     "pet": "$input.params('pet')"
}

Observação: para mais informações, consulte Variáveis de entrada. Escolha Salvar e, em seguida, Implantar a API. Para testar o novo endpoint da API, execute o seguinte comando curl:

curl -X GET https://jp58lnf5vh.execute-api.us-west-2.amazonaws.com/dev/lambda-non-proxy?pet=dog

Importante: certifique-se de que o comando curl tenha o parâmetro da string de consulta pet=dog.

Passar parâmetros da string de consulta para um endpoint HTTP

Conclua as etapas a seguir:

  1. Abra o console da API Gateway e escolha sua API.
  2. No painel Recursos, escolha o método HTTP configurado.
    Observação: se houver mais de um método HTTP configurado para a API, repita essas etapas para cada método.
  3. No painel Execução do método, escolha Solicitação de método e, em seguida, Editar.
  4. Expanda a lista suspensa Parâmetros da string de consulta do URL e escolha Adicionar string de consulta.
  5. No campo Nome, insira type e escolha Salvar.
  6. Escolha a guia Solicitação de integração e, em seguida, Editar.
  7. Expanda a seção Parâmetros da string de consulta do URL.
  8. No campo Nome, insira type.
  9. No campo Mapeado de, insira method.request.querystring.type.
  10. Escolha Salvar e, em seguida, Implantar a API.
  11. Para testar o novo endpoint da API, execute o seguinte comando curl:
curl -X GET https://jp58lnf5vh.execute-api.us-west-2.amazonaws.com/dev/http-endpoint?pet=dog

Importante: certifique-se de que o comando curl tenha o parâmetro da string de consulta pet=dog.

Informações relacionadas

Tutorial: Crie uma API REST com uma integração de proxy do Lambda

Tutorial: Crie uma API REST com uma integração de não proxy do Lambda

Tutorial: Crie uma API REST com uma integração de proxy de HTTP

Tutorial: Crie uma API REST com uma integração de não proxy de HTTP