Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exécution et débogage des ressources locales Amazon API Gateway
Vous pouvez exécuter ou déboguerAWS SAMRessources locales API Gateway, spécifiées danstemplate.yaml
, en exécutant une configuration de lancement VS Code detype=aws-sam
avec leinvokeTarget.target=api
.
Note
API Gateway prend en charge deux types d'API : REST et HTTP. Toutefois, la fonction API Gateway avec la commandeAWS Toolkit for Visual Studio Codeprend uniquement en charge les API REST Parfois, les API HTTP sont appelées « API API Gateway V2 ».
Pour exécuter et déboguer des ressources API Gateway locales
-
Choisissez l'une des méthodes suivantes pour créer une configuration de lancement pour une ressource API Gateway AWS SAM :
-
Option 1 : accédez au code source du gestionnaire (fichier .js, .cs ou .py) dans votreAWS SAM, survolez le gestionnaire Lambda et choisissez l'optionAjouter une configuration pour le CodeLens. Ensuite, dans le menu, choisissez l'élément marquéévénement API.
-
Option 2 : Modifier
launch.json
et créez une configuration de lancement à l'aide de la commande suivante.{ "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} } }, "sam": {}, "aws": {} }
-
-
Dans le code VSRun (Exécuter Lambda), choisissez la configuration de lancement (nommée
myConfig
dans l'exemple ci-dessus). -
(Facultatif) Ajoutez des points d'arrêt à votre code de projet Lambda.
-
TypeF5ou choisissezPlay (Lire)dans leRun (Exécuter Lambda)Panneau.
-
Consultez les résultats dans le volet de sortie.
Configuration
Lorsque vous utilisez la valeur de propriété invokeTarget.target
api
, la boîte à outils modifie la validation et le comportement de la configuration de lancement pour prendre en charge un champ api
.
{ "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} }, "querystring": "abc=def&qrs=tuv", "headers": { "cookie": "name=value; name2=value2; name3=value3" } }, "sam": {}, "aws": {} }
Remplacez les valeurs dans l'exemple comme suit :
- invokeTarget.logicalId
-
Ressource d'API.
- path
-
Chemin d'API demandé par la configuration de lancement, par exemple,
"path": "/hello"
.Doit être un chemin d'API valide résolu à partir de
template.yaml
spécifié parinvokeTarget.templatePath
. - httpMethod
-
Un des verbes suivants : « delete », « get », « head », « options », « patch », « post », « put ».
- payload
-
Charge utile JSON (corps HTTP) à envoyer dans la demande, avec la même structure et les mêmes règles que le champ lambda.payload.
payload.path
pointe vers un fichier contenant la charge utile JSON.payload.json
spécifie une charge utile JSON en ligne. - headers
-
Mappage facultatif de paires nom-valeur que vous utilisez pour spécifier les en-têtes HTTP à inclure dans la demande, comme indiqué dans l'exemple suivant.
"headers": { "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5", "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5", "cookie": "name=value; name2=value2; name3=value3", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", }
- querystring
-
Chaîne facultative qui définit la
querystring
de la demande, par exemple,"querystring": "abc=def&ghi=jkl"
. - AWS
-
Comment les informations de connexion AWS sont fournies. Pour plus d'informations, consultez le .AWSpropriétés de connexion (« aws »)dans le tableauOptions de configuration pour le débogage d'applications sans serveurSection.
- sam
-
Manière dont la AWS SAM CLI génère l'application. Pour plus d'informations, consultez le .AWSPropriétés de la CLI SAM (« sam »)dans le tableauOptions de configuration pour le débogage d'applications sans serveurSection.