Comment configurer l'API REST de ma passerelle API Gateway pour transmettre les paramètres de la chaîne d'interrogation à une fonction backend Lambda ou à un point de terminaison HTTP ?

Dernière mise à jour : 06/01/2021

J'ai besoin de ma passerelle Amazon API Gateway REST API pour transmettre les paramètres des chaînes de requête à une fonction backend AWS Lambda et à un point de terminaison HTTP. Comment dois-je procéder ?

Brève description

Pour configurer une API REST afin de transmettre les paramètres d'une chaîne de requête à une fonction backend Lambda, utilisez une intégration personnalisée Lambda.

Pour transmettre des paramètres de chaîne de requête à un point de terminaison HTTP, utilisez une intégration personnalisée HTTP.

Important :Assurez-vous que les données d'entrée sont fournies comme charge utile de la demande d'intégration. Il est recommandé d'utiliser un modèle de cartographie pour fournir la charge utile. Pour plus d'informations, voir Mapper les charges utiles de demande et de réponse entre la méthode et l'intégration.

Résolution

Passage des paramètres de la chaîne de requête à une fonction backend Lambda

1.    Ouvrez la console API Gateway, puis choisissez votre API.

2.    Dans le volet Ressources , choisissez la méthode HTTP configurée.

Remarque : Si plusieurs méthodes HTTP sont configurées pour l'API, répétez les étapes 2 à 15 pour chaque méthode.

3.    Dans le volet Exécution de la méthode, sélectionnez Demande de méthode.

4.    Développez la liste déroulante Paramètres de chaîne de requête URL , puis choisissez Ajouter une chaîne de requête.

5.    Dans le champ Nom , entrez pet , puis sélectionnez l'icône de coche.

6.    Activez la case à cocher Obligatoire .

7.    Choisissez le volet Exécution de méthode .

8.    Choisissez Demande d'intégration.

9.    Choisissez la liste déroulante Modèles de mappage , puis choisissez Ajouter un modèle de mappage.

10.    Pour le champ Content-Type, entrez application/json et choisissez ensuite l'icône en forme de coche.

11.    Dans la fenêtre contextuelle qui s'affiche, choisissez Oui, sécurisez cette intégration.

12.    Pour la Transmission du corps de la demande, choisissez Lorsqu'il n'y a pas de modèles définis (recommandé).

13.    Dans l'éditeur de modèle de mappage, copiez et remplacez le script existant par le code suivant :

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

Remarque : Pour plus d'informations, consultez le modèle de mappage de la passerelle API Gateway et la référence de la variable de journalisation d'accès.

14.    Choisissez Enregistrer, puis Déployer l'API.

15.    Pour tester le nouveau point de terminaison de l'API, exécutez la commande curl suivante :

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

Important : Assurez-vous que la commande curl a le paramètre de chaîne de requête pet=dog.

Passer des paramètres de chaîne de requête à un point de terminaison HTTP

1.    Ouvrez la console API Gateway, puis choisissez votre API.

2.    Dans le volet Ressources , choisissez la méthode HTTP configurée.

Remarque : Si plusieurs méthodes HTTP sont configurées pour l'API, répétez les étapes 2 à 10 pour chaque méthode.

3.    Dans le volet Exécution de la méthode, sélectionnez Demande de méthode.

4.    Développez la liste déroulante Paramètres de chaîne de requête URL , puis choisissez Ajouter une chaîne de requête.

5.    Pour le champ Nom , saisissez type et sélectionnez l'icône de coche.

6.    Choisissez le volet Exécution de méthode .

7.    Choisissez Demande d'intégration.

8.    Développez la section Paramètres de chaîne de requête URL .

Remarque : Par défaut, les paramètres de la chaîne de requête de la méthode sont mis en correspondance avec les paramètres de la chaîne de requête d'intégration du même nom. Pour mapper un paramètre de demande de méthode à un autre paramètre de demande d'intégration, supprimez le paramètre de demande d'intégration existant. Ensuite, ajoutez une nouvelle chaîne de requête avec l'expression de mappage de paramètre de demande de méthode souhaitée.

9.    Choisissez Enregistrer, puis Déployer l'API.

10.    Pour tester le nouveau point de terminaison de l'API, exécutez la commande curl suivante :

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

Important : Assurez-vous que la commande curl a le paramètre de chaîne de requête pet=dog.