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

4 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 back-end do AWS Lambda e 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 obter mais informações, consulte Mapear cargas úteis de solicitação e resposta entre método e integração.

Resolução

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

1.    Abra o console do 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 as etapas de 2 a 15 para cada método.

3.    No painel Execução do método, escolha Solicitação de método.

4.    Expanda a lista suspensa Parâmetros da string de consulta do URL e escolha Adicionar string de consulta.

5.    No campo Nome, insira animal de estimação e escolha o ícone de marca de seleção.

6.    Marque a caixa de seleção Necessário.

7.    Escolha o painel Execução do método.

8.    Escolha Solicitação de integração.

9.    Escolha a lista suspensa ** Modelos de mapeamento** e escolha Adicionar modelo de mapeamento.

10.    No campo Content-Type, insira application/json e escolha o ícone de marca de seleção.

11.    No pop-up exibido, escolha Sim, proteger essa integração.

12.    Em Passagem do corpo da solicitação, escolha Quando não houver modelos definidos (recomendado).

13.    No editor de modelos de mapeamento, copie e substitua o script existente pelo seguinte código:

{
     "pet": "$input.params('pet')"
}

Observação: para obter mais informações, consulte as Variáveis $input.

14.    Escolha Salvar e, em seguida, escolha Implantar a API.

15.    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

1.    Abra o console do 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 as etapas de dois a dez para cada método.

3.    No painel Execução do método, escolha Solicitação de método.

4.    Expanda a lista suspensa Parâmetros da string de consulta do URL e escolha Adicionar string de consulta.

5.    No campo Nome, insira tipo e escolha o ícone de marca de seleção.

6.    Escolha o painel Execução do método.

7.    Escolha Solicitação de integração.

8.    Expanda a seção Parâmetros da string de consulta do URL.

Observação: por padrão, os parâmetros da string de consulta de solicitação de método são mapeados para os parâmetros da string de consulta de solicitação de integração com o mesmo nome. Para visualizar isso, atualize a página do console do API Gateway. Para mapear um parâmetro de solicitação de método para outro parâmetro de solicitação de integração, primeiro exclua o parâmetro de solicitação de integração existente. Em seguida, adicione uma nova string de consulta com a expressão de mapeamento de parâmetros de solicitação de método desejada.

9.    Escolha Salvar e, em seguida, escolha Implantar a API.

10.    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 Hello World com a integração de proxy do Lambda

Tutorial: crie uma API REST do API Gateway com integração sem proxy do Lambda

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

Tutorial: crie uma API REST com integração HTTP sem proxy