Ausführen und Debuggen lokaler Amazon API Gateway Ressourcen - AWS Toolkit for VS Code

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ausführen und Debuggen lokaler Amazon API Gateway Ressourcen

Sie können ausführen oder debuggenAWS SAMLokale API-Gateway-Ressourcen, angegeben intemplate.yaml, indem Sie eine VS-Code-Startkonfiguration vontype=aws-sammit deminvokeTarget.target=api.

Anmerkung

API Gateway unterstützt zwei Arten von APIs, REST und HTTP. Die API Gateway -Funktion mit demAWS Toolkit for Visual Studio Codeunterstützt nur REST-APIs. Manchmal werden HTTP-APIs „API Gateway V2-APIs“ genannt.

So führen und debuggen Sie lokale API Gateway Ressourcen
  1. Wählen Sie einen der folgenden Ansätze zum Erstellen einer Startkonfiguration für eine AWS SAM API Gateway Ressource:

    • Option 1: Besuchen Sie den Handler-Quellcode (.js, .cs oder .py Datei) in IhremAWS SAM-Projekt, bewegen Sie den Mauszeiger über den Lambda-Handler und wählen SieHinzufügen einer Debugkonfiguration CodeLens. Wählen Sie dann im Menü den Eintrag-Ereignis.

    • Option 2: Bearbeitenlaunch.jsonund erstellen Sie eine neue Startkonfiguration mithilfe der folgenden Syntax.

      { "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. Im VS-CodeFühren Sie Folgendes aus:wählen Sie die Startkonfiguration (benanntmyConfigim obigen Beispiel).

  3. (Optional) Fügen Sie Ihrem Lambda Projektcode Haltepunkte hinzu.

  4. TypF5oder wähleWiedergabeimFühren Sie Folgendes aus:-Bedienfeld.

  5. Zeigen Sie im Ausgabefenster die Ergebnisse an.

Konfiguration

Wenn Sie den invokeTarget.targetEigenschaftswertapi benutzen, ändert das Toolkit die Validierung und das Verhalten der Startkonfiguration, um ein api -Feld zu unterstützen.

{ "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": {} }

Ersetzen Sie die Werte im Beispiel wie folgt:

InvokeTarget.LogicalID

Eine API-Ressource.

path (Pfad)

Der API-Pfad, den die Startkonfiguration anfordert, z. B. "path": "/hello".

Muss ein gültiger API-Pfad sein, der aus der template.yaml angegeben von invokeTarget.templatePath ist.

httpMethod

Es kann eines der folgenden Verben sein: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS.

Nutzlast

Die JSON-Payload (HTTP-Body), die in der Anforderung gesendet werden soll, mit der gleichen Struktur und den gleichen Regeln wie das Feld lambda.payload.

payload.path verweist auf eine Datei, die die JSON-Payload enthält.

payload.json gibt eine JSON-Nutzlast inline an.

Header

Optionale Zuordnung von Name-Wert-Paaren, mit denen Sie HTTP-Header angeben, die in die Anforderung einbezogen werden sollen, wie im folgenden Beispiel dargestellt.

"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

Optionale Zeichenfolge, die die querystring Anforderung einstellt z. B."querystring": "abc=def&ghi=jkl".

AWS

So stellen Sie die AWS Verbindungsinformationen zur Verfügung. Weitere Informationen finden Sie im .AWSVerbindungseigenschaften („aws“)Tabelle in derKonfigurationsoptionen für das Debuggen von serverless AnwendungenAbschnitts erstellt.

sam

So entwickelt AWS SAM CLI die Anwendung. Weitere Informationen finden Sie im .AWSSAM-CLI-Eigenschaften („sam“)Tabelle in derKonfigurationsoptionen für das Debuggen von serverless AnwendungenAbschnitts erstellt.