Exécution et débogage des ressources locales Amazon API Gateway - AWS Boîte à outils pour VS Code

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-samavec 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
  1. 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 : Modifierlaunch.jsonet 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": {} }
  2. Dans le code VSRun (Exécuter Lambda), choisissez la configuration de lancement (nomméemyConfigdans l'exemple ci-dessus).

  3. (Facultatif) Ajoutez des points d'arrêt à votre code de projet Lambda.

  4. TypeF5ou choisissezPlay (Lire)dans leRun (Exécuter Lambda)Panneau.

  5. 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é par invokeTarget.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.