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-sam
mit 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
-
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: Bearbeiten
launch.json
und 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": {} }
-
-
Im VS-CodeFühren Sie Folgendes aus:wählen Sie die Startkonfiguration (benannt
myConfig
im obigen Beispiel). -
(Optional) Fügen Sie Ihrem Lambda Projektcode Haltepunkte hinzu.
-
TypF5oder wähleWiedergabeimFühren Sie Folgendes aus:-Bedienfeld.
-
Zeigen Sie im Ausgabefenster die Ergebnisse an.
Konfiguration
Wenn Sie den invokeTarget.target
Eigenschaftswertapi
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 voninvokeTarget.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.