J'ai besoin de mon API REST Amazon API Gateway pour transmettre les paramètres de chaîne de requête à une fonction AWS Lambda dorsale ou à un point de terminaison HTTP.
Brève description
Pour configurer une API REST afin de transmettre des paramètres de chaîne de requête à une fonction AWS Lambda dorsale, 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 HTTP personnalisée.
Important : Assurez-vous de fournir les données d'entrée en tant que données utiles de la requête d'intégration. Il est recommandé d'utiliser un modèle de mappage pour fournir les données utiles. Pour plus d'informations, consultez la section Exemples de mappage de paramètres pour les API REST dans API Gateway.
Résolution
Transmettre les paramètres de chaîne de requête à une fonction Lambda dorsale
Procédez comme suit :
- Ouvrez la console API Gateway, puis sélectionnez votre API.
- Dans le panneau Ressources, choisissez la méthode HTTP configurée.
Remarque : Si plusieurs méthodes HTTP sont configurées pour l'API, répétez ces étapes pour chaque méthode.
- Dans le volet Exécution de la méthode, choisissez Demande de méthode, puis sélectionnez Modifier.
- Développez la liste déroulante Paramètres de chaîne de requête, puis choisissez Ajouter une chaîne de requête.
- Dans le champ Nom, saisissez pet.
- Cochez la case Obligatoire, puis cliquez sur Enregistrer.
- Cliquez sur l'onglet Requête d’intégration, puis choisissez Modifier.
- Développez Modèles de mappage, puis choisissez Ajouter un modèle de mappage.
- Dans le champ Content-Type, saisissez application/json.
- Dans l'éditeur de modèles de mappage, copiez et remplacez le script actuel par le code suivant :
{ "pet": "$input.params('pet')"
}
Remarque : Pour plus d'informations, consultez les variables d'entrée.
Choisissez Enregistrer, puis Déployer l'API.
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 contient le paramètre de chaîne de requête pet=dog.
Transmettre les paramètres de chaîne de requête à un point de terminaison HTTP
Procédez comme suit :
- Ouvrez la console API Gateway, puis sélectionnez votre API.
- Dans le panneau Ressources, choisissez la méthode HTTP configurée.
Remarque : Si plusieurs méthodes HTTP sont configurées pour l'API, répétez ces étapes pour chaque méthode.
- Dans le volet Exécution de la méthode, choisissez Demande de méthode, puis Modifier.
- Développez la liste déroulante Paramètres de chaîne de requête, puis choisissez Ajouter une chaîne de requête.
- Dans le champ Nom, saisissez type, puis choisissez Enregistrer.
- Cliquez sur l'onglet Requête d’intégration, puis choisissez Modifier.
- Développez la section Paramètres de chaîne de requête URL.
- Dans le champ Nom, saisissez type.
- Dans le champ Mappage à partir de, saisissez method.request.querystring.type.
- Choisissez Enregistrer, puis Déployer l'API.
- 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 contient le paramètre de chaîne de requête pet=dog.
Informations connexes
Didacticiel : Créer une API REST avec une intégration de proxy Lambda
Didacticiel : Créer une API REST avec une intégration Lambda sans proxy
Didacticiel : Créer une API REST avec une intégration de proxy HTTP
Didacticiel : Créer une API REST avec une intégration HTTP sans proxy