Esecuzione e debug delle risorse locali di Amazon API Gateway - AWSToolkit for VS Code

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esecuzione e debug delle risorse locali di Amazon API Gateway

Puoi eseguire o eseguire il debugAWS SAMRisorse locali di API Gateway, specificate intemplate.yaml, eseguendo una configurazione di lancio di VS Code ditype=aws-samcon ilinvokeTarget.target=api.

Nota

API Gateway supporta due tipi di API, REST e HTTP. Tuttavia, la funzionalità API Gateway conAWS Toolkit for Visual Studio Codesupporta solo API REST. A. volte le API HTTP vengono chiamate "API V2 di API Gateway"

Per l'esecuzione e il debug delle risorse locali di Amazon API Gateway

  1. Scegli uno dei seguenti approcci per creare una configurazione di avvio per una risorsa API Gateway AWS SAM:

    • Opzione 1: visita il codice sorgente del gestore (file .js, .cs o .py) nelAWS SAM, passa il mouse sopra il gestore Lambda e scegli ilAggiunta configurazione di debug CodeLens. Quindi, nel menu, scegli l'elemento contrassegnato comeevento API.

    • Opzione 2: Modificarelaunch.jsone crea una nuova configurazione di avvio utilizzando la sintassi seguente.

      { "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. Nel codice VSEseguipannello, scegli la configurazione di lancio (denominatamyConfignell'esempio precedente).

  3. (Facoltativo) Aggiungi punti di interruzione al codice del progetto Lambda.

  4. Type (Tipo)F5oppure scegliPlay (Riproduci)nellaEseguiPannello.

  5. Nel riquadro di output, visualizza i risultati.

Configurazione

Quando utilizzi l'api del valore proprietà invokeTarget.target, il kit di strumenti modifica la convalida e il comportamento della configurazione di avvio per supportare un campo dell'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": {} }

Sostituisci i valori nell'esempio come segue:

invokeTarget.logicalId

Una risorsa API

path

Il percorso dell'API richiesto dalla configurazione di avvio, ad esempio "path": "/hello".

Deve essere un percorso API valido risolto da template.yaml specificato da invokeTarget.templatePath.

httpMethod

Può essere uno dei seguenti verbi: "delete", "get", "head", "options", "patch", "post", "put".

payload

Il payload JSON (corpo HTTP) da inviare nella richiesta, con la stessa struttura e le stesse regole del campo lambda.payload.

payload.path punta a un file contenente il payload JSON.

payload.json specifica un payload JSON in linea.

headers

Mappa facoltativa delle coppie nome-valore, che consente di specificare intestazioni HTTP da includere nella richiesta, come mostrato nell'esempio seguente.

"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

Stringa facoltativa che imposta la querystring della richiesta, ad esempio "querystring": "abc=def&ghi=jkl".

AWS

Come vengono fornite le informazioni sulla connessione AWS. Per ulteriori informazioni, consulta la .AWSproprietà connection («aws»)tabella nella tabellaOpzioni di configurazione per il debug di applicazioni serverlessSezione.

sam

Come la CLI AWS SAM costruisce l'applicazione. Per ulteriori informazioni, consulta la .AWSProprietà dell'interfaccia della riga di comando SAM («sam»)tabella nella tabellaOpzioni di configurazione per il debug di applicazioni serverlessSezione.