POST JSON-Objekt zu aws lambda
Wie kann ich eine json-Objekt zu aws lambda-Funktion über die aws-API-gateway ?
p.s.- Mein Ziel ist es, schreiben die lambda Funktion in python und dann per post an die aws SQS.
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich es herausgefunden. Jetzt habe ich ein API-Gateway acceptiong client geschrieben JSON-Daten von einem angegebenen format und dann übergabe an eine AWS Lambda-Funktion, die dumps die Daten in eine AWS-SQS. Die Schritte sind im folgenden im Detail erläutert-
SCHRITT 1-
Erstellen Sie eine lambda-Funktion in alle unterstützten Sprachen (die ich verwendet habe Python 3.6). Hier ist ein Beispiel-code.
Hinweis: ich importiert haben, sowohl json und boto3 Bibliothek, die in aws-Kontext keine Notwendigkeit, fügen Sie keine weitere Datei. Auch habe ich keine Angaben für die SQS als der name, weil meine beiden Lambda-Funktion und SQS sind in der gleichen AWS-region. Ich bin dumping das ganze "event" - variable SQS als diese enthält nur die geposteten JSON-Daten.
SCHRITT 2-
Nun in der AWS-Konsole goto "- API Gateway" und erstellen Sie eine neue API-Gateway und erstellen Sie dann eine "POST" action unter Ressourcen.
Bitte überprüfen Sie den screenshot
Nun, unter der post-action, klicken Sie auf "Integration-Anfrage". Jetzt fügen Sie eine Körper-Vorlage, um es, wie im Beispiel unten angegeben-
Stellen Sie außerdem sicher, dass Sie die "Integration Type" Ihre API als "Lambda" und der Lambda-Funktion die wir erstellt haben in SCHRITT 1 angeschlossen ist, um die API.
Nun sind wir fast fertig. alles was wir jetzt tun müssen ist, erstellen Sie eine Bühne für die API, die wir geschaffen haben, und die Bereitstellung der API. ***
Bitte beachten Sie die HTTP-URL des API nach der Bereitstellung.
SCHRITT 3-
Gehen Sie nun auf die "Simple Queuing Service (SQS)" und dann erstellen Sie eine einfache SQS mit dem halten alle Standard-Parameter. Stellen Sie sicher, dass die queue-Namen passt, mit der Sie zur Verfügung gestellt haben in Ihrer Lambda-Funktion und sowohl Ihre Lambda-Funktion und Ihre SQS sind in der gleichen AWS-region.
Nun können Sie POST JSON-Daten in das gleiche format, um Ihre API und Ihre Lambda-Funktion wird es dump der SQS-Warteschlange, wo man gehen kann und die Daten anzeigen.
Können Sie auch test die API-Verwendung von tools wie der Fidler.
*** stellen Sie sicher, um Sie erneut zu implementieren die API für jedes mal, wenn Sie eine änderung vornehmen, um es.
response
Objekt, nachdem Sie es schaffen?Ja, Sie können,
Wenn Sie Sie auslösen, die Lambda-Funktion aus der API-Gateway mithilfe der Lambda-Proxy-integration die Anfrage rufen Sie die Funktion mit einer Nutzlast, die so aussieht wie das unten. Wie Sie sehen können alles, was Sie tun müssen, ist zum Parsen der JSON-Körper-Attribut.