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.
Tutorial: Erstellen Sie eine REST API mit einer Lambda-Proxyintegration
Die Lambda-Proxyintegration ist ein leichter, flexibler API API Gateway-Integrationstyp, mit dem Sie eine API Methode — oder eine ganze API — in eine Lambda-Funktion integrieren können. Die Lambda-Funktion kann in jeder Sprache, die Lambda unterstützt geschrieben werden. Da es sich um eine Proxyintegration handelt, können Sie die Implementierung der Lambda-Funktion jederzeit ändern, ohne Ihre erneut bereitstellen zu müssen. API
In diesem Tutorial führen Sie folgende Aufgaben aus:
-
Erstellen Sie eine "Hello, World!"- Lambda-Funktion als Backend für die. API
-
Erstellen und testen Sie eine "Hello, World!"- APImit Lambda-Proxyintegration.
Themen
Erstellen Sie eine "Hello, World!"- Lambda-Funktion
Erstellen von „Hello, World!“ Lambda-Funktion in der Lambda-Konsole
Melden Sie sich bei der Lambda-Konsole unter https://console.aws.amazon.com/lambda
an. -
Wählen Sie in der AWS Navigationsleiste eine. AWS-Region
Anmerkung
Notieren Sie die Region, in der Sie die Lambda-Funktion erstellen. Sie benötigen es, wenn Sie das erstellenAPI.
-
Wählen Sie im Navigationsbereich Functions (Funktionen) aus.
-
Wählen Sie Create function (Funktion erstellen).
-
Wählen Sie Author from scratch aus.
-
Führen Sie unter Basic information (Grundlegende Informationen) die folgenden Schritte aus:
-
Geben Sie in Function name (Funktionsname)
GetStartedLambdaProxyIntegration
ein. -
Wählen Sie für Laufzeit die neueste unterstützte Node.js- oder Python-Laufzeit aus.
Behalten Sie für Architektur die Standardeinstellung bei.
-
Erweitern Sie unter Berechtigungen die Option Standardausführungsrolle ändern. Wählen Sie in der Dropdown-Liste Ausführungsrolle die Option Neue Rolle aus AWS -Richtlinienvorlagen erstellen aus.
-
Geben Sie in Role Name (Rollenname) den Namen
GetStartedLambdaBasicExecutionRole
ein. -
Lassen Sie das Feld Policy templates (Richtlinien-Vorlagen) leer.
-
Wählen Sie Create function (Funktion erstellen).
-
-
Fügen Sie im Inline-Code-Editor unter Function code (Funktionscode) den folgenden Code ein:
-
Wählen Sie Deploy (Bereitstellen) aus.
Erstellen Sie ein „Hallo, Welt!“ API
Erstelle jetzt eine API für dein „Hello, World!“ Lambda-Funktion mithilfe der API Gateway-Konsole.
Um ein „Hallo, Welt!“ zu erstellen API
Melden Sie sich bei der API Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan
. -
Wenn Sie API Gateway zum ersten Mal verwenden, wird eine Seite angezeigt, auf der Sie mit den Funktionen des Dienstes vertraut gemacht werden. Wählen Sie RESTAPIunter Build aus. Wenn das API Popup-Fenster „Beispiel erstellen“ angezeigt wird, wählen Sie „OK“.
Wenn Sie API Gateway nicht zum ersten Mal verwenden, wählen Sie Create API. Wählen Sie RESTAPIunter Build aus.
Geben Sie als APINamen ein
LambdaProxyAPI
.(Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.
Lassen Sie den APIEndpunkttyp auf Regional eingestellt.
Wählen Sie Erstellen API.
Nachdem Sie eine erstellt habenAPI, erstellen Sie eine Ressource. In der Regel werden API Ressourcen entsprechend der Anwendungslogik in einem Ressourcenbaum organisiert. Für dieses Beispiel erstellen Sie eine /helloworld-Ressource.
Erstellen Sie eine Ressource
Wählen Sie Create Resource (Ressource erstellen) aus.
Die Proxy-Ressource bleibt ausgeschaltet.
Ressourcenpfad wird als
/
beibehalten.Geben Sie für Resource name (Ressourcenname)
helloworld
ein.Lassen Sie CORS(Cross Origin Resource Sharing) ausgeschaltet.
Wählen Sie Create Resource (Ressource erstellen) aus.
Bei einer Proxy-Integration wird die gesamte Anfrage unverändert über eine Catch-All-Methode, die eine beliebige ANY
Methode darstellt, an die Backend-Lambda-Funktion gesendet. HTTP Die eigentliche HTTP Methode wird vom Client zur Laufzeit angegeben. Die ANY
Methode ermöglicht es Ihnen, ein einziges API Methoden-Setup für alle unterstützten HTTP Methoden zu verwenden: DELETE
GET
HEAD
,OPTIONS
,PATCH
,POST
, undPUT
.
Erstellen einer ANY
-Methode
Wählen Sie die /helloworld-Ressource aus und klicken Sie dann auf Methode erstellen.
Wählen Sie als Methodentyp die Option ANY aus.
Wählen Sie für den Integration type (Integrationstyp) die Option Lambda function (Lambda-Funktion) aus.
Schalten Sie die Lambda-Proxy-Integration ein.
Wählen Sie für Lambda-Funktion den Ort aus, AWS-Region an dem Sie Ihre Lambda-Funktion erstellt haben, und geben Sie dann den Funktionsnamen ein.
-
Wenn Sie die Standardzeitüberschreitung von 29 Sekunden verwenden möchten, lassen Sie das Kontrollkästchen Default timeout (Standardzeitüberschreitung) aktiviert. Wenn Sie einen benutzerdefinierten Zeitüberschreitungswert festlegen möchten, wählen Sie Default timeout (Standardzeitüberschreitung) aus und geben Sie einen Zeitüberschreitungswert zwischen
50
und29000
Millisekunden ein. Wählen Sie Methode erstellen aus.
Stellen Sie die bereit und testen Sie API
Um Ihr zu implementieren API
Wählen Sie BereitstellenAPI aus.
Wählen Sie für Stufe die Option Neue Stufe aus.
Geben Sie für Stage name (Stufenname)
test
ein.(Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.
Wählen Sie Bereitstellen.
Wählen Sie unter Stage-Details das Kopiersymbol aus, um Ihren API Aufruf zu kopieren. URL
Verwenden Sie Browser und cURL, um eine API mit Lambda-Proxyintegration zu testen
Sie können einen Browser oder C
Um GET
Anfragen nur mit Abfragezeichenfolgenparametern zu testen, können Sie die helloworld
Ressource URL for API the in die Adressleiste eines Browsers eingeben.
Um die Ressource URL for the API zu erstellen, hängen Sie die helloworld
Ressource helloworld
und den Parameter für die Abfragezeichenfolge ?greeter=John
an Ihren Aufruf URL an. Sie URL sollten wie folgt aussehen.
https://
r275xc9bmd
.execute-api.us-east-1
.amazonaws.com/test/helloworld?greeter=John
Für andere Methoden müssen Sie erweiterte REST API Testwerkzeuge wie POSTMAN
Um Ihr Deployment API mit c zu testenURL:
-
Öffnen Sie ein Terminal-Fenster.
-
Kopieren Sie den folgenden URL c-Befehl und fügen Sie ihn in das Terminalfenster ein. Ersetzen Sie den Befehl invoke URL durch den Befehl, den Sie im vorherigen Schritt kopiert haben, und fügen Sie ihn am Ende von
/helloworld
hinzu. URLAnmerkung
Wenn Sie den Befehl unter Windows ausführen, verwenden Sie stattdessen die folgende Syntax:
curl -v -X POST "https://
r275xc9bmd
.execute-api.us-east-1
.amazonaws.com/test/helloworld" -H "content-type: application/json" -d "{ \"greeter\": \"John\" }"Um den API mit dem Abfragezeichenfolgenparameter aufzurufen:
?greeter=John
curl -X GET 'https://
r275xc9bmd
.execute-api.us-east-1
.amazonaws.com/test/helloworld?greeter=John'Um das API mit einem Header-Parameter von aufzurufen
greeter:John
:curl -X GET https://
r275xc9bmd
.execute-api.us-east-1
.amazonaws.com/test/helloworld \ -H 'content-type: application/json' \ -H 'greeter: John'Um das API mit einem Hauptteil von aufzurufen
{"greeter":"John"}
:curl -X POST https://
r275xc9bmd
.execute-api.us-east-1
.amazonaws.com/test/helloworld \ -H 'content-type: application/json' \ -d '{ "greeter": "John" }'
In allen Fällen ist die Ausgabe eine Antwort mit dem folgenden Antworttext: 200
Hello, John!