[Python] Ich habe eine REST-API mit AWS API Gateway und Lambda geschrieben.

Einführung

Ich habe eine REST-API mit AWS API Gateway und Lambda geschrieben. Notieren Sie sich diese. Ist es möglich, die Einrichtung eines Servers mit EC2 zu vermeiden, indem API Gateway und Lambda in Kombination verwendet werden?

Verfahren

  1. Erstellen einer Lambda-Funktion
  2. Erstellen einer API mit API Gateway
  3. Stellen Sie die erstellte API bereit

Erstellen einer Lambda-Funktion

Zum Bildschirm von Lambda

Melden Sie sich zuerst bei der AWS Management Console an und wählen Sie dann AWS Lambda aus. Wenn Sie noch nie eine Lambda-Funktion erstellt haben, klicken Sie auf die Schaltfläche Jetzt starten. get-started.JPG

Erstellen einer Lambda-Funktion

Klicken Sie auf die Schaltfläche Erste Schritte, um eine Beispielliste der Lambda-Funktionen anzuzeigen. Dieses Mal erstellen wir eine neue, wählen Sie also die Schaltfläche "Überspringen" unten rechts. skip.JPG

Wenn Sie auf die Schaltfläche "Überspringen" klicken, wird der Bildschirm zum Erstellen einer Lambda-Funktion angezeigt, in dem die Details beschrieben werden. configure.JPG

Funktionsname und Spracheingabe

Geben Sie zunächst den Funktionsnamen und die Sprache an. Geben Sie "hello_world" für den Funktionsnamen und "Python 2.7" für die Sprache an. func_name.JPG

Code eingeben

Als nächstes kommt der eigentliche Code. Fügen Sie den folgenden Code in Ihren Inline-Editor ein. Es ist ein einfacher Code, der nur {'message': 'Hello World!'} Zurückgibt.

import json


def lambda_handler(event, context):
    return {'message': 'Hello World!'}

Rollenauswahl

Als nächstes legen Sie die Rolle fest. Sie können eine vorhandene Rolle verwenden, diesmal erstellen wir jedoch eine neue. Wählen Sie die Dropdown-Liste Rolle und dann "Grundlegende Ausführungsrolle". select_role.jpg

Eine Rolle erstellen

Wenn Sie "Grundlegende Ausführungsrolle" auswählen, wird der folgende Bildschirm geöffnet. Hier lautet die IAM-Rolle "Neue IAM-Rolle erstellen" und der Rollenname "lambda_basic_execution". Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Zulassen, um die Rolle zu erstellen. create_role.JPG

endgültige Bestätigung

Klicken Sie auf die Schaltfläche "Zulassen", um zum ursprünglichen Bildschirm zurückzukehren. Dieses Mal stellen wir weder den Speicher noch die Zeitüberschreitung ein. Wählen Sie einfach die Schaltfläche "Weiter".

Wenn Sie auf die Schaltfläche "Weiter" klicken, wird ein Bestätigungsbildschirm angezeigt. Klicken Sie auf die Schaltfläche Funktion erstellen, um eine Lambda-Funktion zu erstellen. review1.JPG

Testen Sie die von Ihnen erstellte Lambda-Funktion

Damit ist die Erstellung der Lambda-Funktion abgeschlossen. Wählen Sie die Schaltfläche "Test" und prüfen Sie, ob das "Ausführungsergebnis" wie folgt lautet.

{
  "message": "Hello World!"
}

Erstellen einer API mit API Gateway

Zum Bildschirm von API Gateway

Kehren Sie nach dem Erstellen der Lambda-Funktion zum Startbildschirm der Verwaltungskonsole zurück und wählen Sie API-Gateway aus. Wenn Sie noch nie eine API erstellt haben, klicken Sie auf die Schaltfläche Jetzt starten. get-started-api.JPG

Geben Sie den API-Namen ein

Der Bildschirm zur Eingabe des API-Namens wird angezeigt. Geben Sie "Hallo API" als API-Namen ein und klicken Sie dann auf die Schaltfläche "API erstellen". new-api.JPG

Ressource erstellen

Erstellen Sie dann die Ressource. Klicken Sie auf die Schaltfläche "Ressource erstellen". Geben Sie dann Hallo als Ressourcennamen ein und klicken Sie auf die Schaltfläche Ressource erstellen. create_resource.JPG

Methode erstellen

Weisen Sie der erstellten Ressource nach dem Erstellen der Ressource eine Methode zu. Stellen Sie sicher, dass das von Ihnen erstellte "/ hallo" ausgewählt ist, und klicken Sie dann auf die Schaltfläche "Methode erstellen". Dann erscheint ein Dropdown unter "/ hello", wählen Sie also "GET". create_method.jpg

Wenn Sie danach das Kontrollkästchen (☑) rechts neben dem Methodennamen aktivieren, können Sie Lambda-Funktion oder HTTP-Proxy als Integrationstyp auswählen. Wählen Sie daher Lambda-Funktion aus. Wählen Sie für die Lambda-Region die Region aus, in der Sie die Lambda-Funktion erstellt haben, und geben Sie für die Lambda-Funktion den Namen der zuvor erstellten Lambda-Funktion "hello_world" ein. Nachdem Sie alles eingestellt haben, klicken Sie auf die Schaltfläche "Speichern". save_api.JPG

Wenn "Berechtigung zur Lambda-Funktion hinzufügen" angezeigt wird, wählen Sie "OK". Damit ist die Erstellung abgeschlossen.

Testen der von Ihnen erstellten API

Versuchen Sie, die von Ihnen erstellte API zu testen, indem Sie auf die Schaltfläche "Test" klicken. Wenn Sie sich den Antworttext ansehen, sollten Sie sehen, dass die Lambda-Funktion ausgeführt wird.

{
  "message": "Hello World!"
}

Bereitstellen der API

Klicken Sie auf der linken Seite des Bildschirms auf die Schaltfläche "API bereitstellen". deploy_api.JPG

Wenn Sie auf die Schaltfläche "API bereitstellen" klicken, wird der folgende Bildschirm angezeigt. Geben Sie New Stage als Bereitstellungsphase und Beta als Stufennamen ein und klicken Sie auf die Schaltfläche Bereitstellen. deploy.JPG

Die Aufruf-URL wird angezeigt. url.JPG

Bitte fügen Sie "/ hello" nach der Beta in die URL ein, bevor Sie darauf zugreifen. Wenn Folgendes angezeigt wird, ist dies erfolgreich. Danke für deine harte Arbeit.

{"message": "Hello World!"}

Recommended Posts

[Python] Ich habe eine REST-API mit AWS API Gateway und Lambda geschrieben.
Amazon API Gateway und AWS Lambda Python-Version
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Ich habe Chatbot mit der LINE Messaging API und Python (2) ~ Server ~ erstellt
Ich habe eine Klasse in Python3 und Java geschrieben
LINE BOT mit Python + AWS Lambda + API Gateway
Eine Geschichte über das Schreiben von AWS Lambda und ein wenig Abhängigkeit von den Standardwerten von Python-Argumenten
AWS CDK-Lambda + API-Gateway (Python)
Versuchen Sie, einen Cisco Spark Bot mit AWS Lambda + Amazon API Gateway (Python) zu implementieren.
Nehmen Sie schnell eine Abfragezeichenfolge mit API Gateway-> Lambda (Python)
Zusammenfassung bei Verwendung von AWS Lambda (Python)
Ich habe einen Line-Bot mit Python gemacht!
[AWS] API mit API Gateway + Lambda erstellen
Ich habe ein Python-Skript geschrieben, das alle meine Beiträge mit der Qiita API v2 exportiert
Ich habe ein Skript geschrieben, um mit AWS Lambda + Python 2.7 schnell eine Entwicklungsumgebung für Twitter Bot zu erstellen
Ich habe eine Instanz zu einem bestimmten Zeitpunkt mit AWS Lambda gestoppt
Ich habe ChatOps mit Slack x API Gateway x Lambda (Python) x RDS ausprobiert
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Einfache REST-API mit API Gateway / Lambda / DynamoDB
[AWS] Erstellen Sie mit CodeStar eine Python Lambda-Umgebung und führen Sie Hello World aus
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen
Entwicklung und Bereitstellung der REST-API in Python mit Falcon Web Framework
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich habe FizzBuzz in Python mit der Support Vector Machine (Bibliothek LIVSVM) geschrieben.
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Ich habe einen Slack-Bot geschrieben, der Verzögerungsinformationen mit AWS Lambda benachrichtigt
Ich habe versucht, die Detect Labels-API von AWS Rekognition zu verwenden
Führen Sie regelmäßig Python-Programme auf AWS Lambda aus
[AWS SAM] Erstellen Sie eine API mit DynamoDB + Lambda + API Gateway
Ich habe versucht, Web-Scraping mit Python und Selen
Ein Memo, das ich schnell in Python geschrieben habe
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Erstellen wir eine REST-API mit SpringBoot + MongoDB
Ich habe versucht, eine CSV-Datei mit Python zu lesen
[AWS] Versuchen Sie, API Gateway + Lambda mit X-Ray zu verfolgen
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
Python Qiita API Wrapper "qiipy" gemacht
Erstellen Sie eine REST-API mit dem in Lobe und TensorFlow Serving erlernten Modell.
Eine Geschichte über das Cross-Kompilieren eines Python-Pakets für AWS Lambda und das Bereitstellen ohne Server
Entwickeln, Ausführen und Bereitstellen von AWS Lambda remote mit dem Lambda-Uploader
Dynamische HTML-Seiten mit AWS Lambda und Python
Ich habe versucht, das Update von "Werde ein Romanautor" mit "IFTTT" und "Werde ein Romanautor API" zu benachrichtigen.
Versuchen Sie, eine komprimierte Datei mit Python und zlib zu erstellen
Ich habe einen Anmelde- / Abmeldevorgang mit Python's Bottle durchgeführt.
Pythons Lambda-Ausdruck ...
Holen Sie sich LEAD-Daten mit der REST-API von Marketo in Python
Überprüfen Sie types_map, wenn Sie Mimetypen mit AWS Lambda (Python) verwenden.
Senden und empfangen Sie Google Mail über die Google Mail-API mit Python
Registrieren Sie Tickets mit der Redmine-API mithilfe von Python-Anforderungen
Versuchen Sie, Schedule auszuführen, um Instanzen in AWS Lambda (Python) zu starten und zu stoppen.
Ich habe versucht, mit AWS Lambda einen AMI zu erhalten
Implementieren eines Generators mit Python> Link> Yield und next ()> Yield
Ich habe versucht, LINE BOT mit Python und Heroku zu machen
Ich habe APN (Remote-Benachrichtigung) mithilfe der Parse.com-REST-API ausprobiert
Erstellen Sie in Docker eine Ebene für AWS Lambda Python
Ich möchte Lambda mit Python auf Mac AWS!