Ihr Code muss dem Lambda-Funktionsprogrammierungsmodell folgen, und es scheint, dass Sie Ihren Code geringfügig anpassen müssen, um zu passen. Ihr Python-Code muss eine seiner Funktionen als Handler identifizieren. Dies geschieht folgendermaßen:
%Vor%Aus dem offiziellen Handbuch:
event-AWS Lambda verwendet diesen Parameter, um Ereignisdaten an die Handler. Dieser Parameter ist normalerweise vom Python-Diktattyp. Es kann Geben Sie auch list, str, int, float oder NoneType ein.
context-AWS Lambda verwendet diesen Parameter, um Informationen zur Laufzeit bereitzustellen zu deinem Handler. Dieser Parameter ist vom Typ LambdaContext. Optional kann der Handler einen Wert zurückgeben. Was passiert mit dem zurückgegebenen? Der Wert hängt vom Aufruftyp ab, den Sie beim Aufrufen des Lambda verwenden Funktion:
Wenn Sie den RequestResponse-Aufruftyp verwenden (synchron Ausführung), gibt AWS Lambda das Ergebnis des Python-Funktionsaufrufs zurück an den Client, der die Lambda - Funktion aufruft (in der HTTP - Antwort an die Aufrufanforderung, serialisiert in JSON). Beispiel: AWS Lambda console verwendet den RequestResponse-Aufruftyp, also beim Test Rufen Sie die Funktion über die Konsole auf, die Konsole zeigt die Rückgabewert.
Wenn der Handler nichts zurückgibt, gibt AWS Lambda null zurück.
Wenn Sie den Ereignisaufruftyp (asynchrone Ausführung) verwenden, wird der Wert verworfen.
Wenn diese Änderungen vorgenommen werden, besteht der erste Schritt darin, den Code zusammen mit etwaigen Abhängigkeiten in ein Bereitstellungspaket zu packen. Um dies zu tun, müssen Sie ein
erstellen
.zip
Datei in der folgenden Art und Weise.
Erstellen Sie zuerst ein Verzeichnis für Ihr Paket. In diesem Fall könnten Sie es MailgunScript
oder etwas Ähnliches nennen. Speichern Sie alle Python-Quelldateien in diesem Verzeichnis auf der Stammebene.
Sie können den Befehl pip verwenden, um alle erforderlichen Bibliotheken, wie die Anfragen und die Bibliotheken urllib2, in ein Verzeichnis Ihrer Wahl zu installieren:
%Vor% Schließlich müssen Sie ein .zip
Archiv aus dem Inhalt dieses Verzeichnisses erstellen, nicht aus dem Verzeichnis selbst.
Sie können jetzt Ihr Bereitstellungspaket in eine Lambda-Funktion umwandeln. Melden Sie sich bei Ihrer AWS-Verwaltungskonsole an und wählen Sie Create a Lambda Function
. Wenn Sie aufgefordert werden, einen Blueprint auszuwählen, können Sie den standardmäßigen Blaupause hello-world
auswählen und mit dem Fortfahren fortfahren, um Ihr Bereitstellungspaket hochzuladen und die restlichen Felder nach Bedarf auszufüllen.
Sie können die Funktion dann testen, indem Sie einfach zur Haupt-AWS-Verwaltungskonsole zurückkehren, die Funktion auswählen und auf test
klicken. Alternativ können Sie die neue Lambda-Funktion über die Befehlszeilenschnittstelle mit einem Befehl wie dem folgenden manuell aufrufen:
Dies führt Ihre Funktion aus und gibt die Antwort auf /tmp/response
für die Inspektion aus.
Sie müssen Ihre Funktion in einer Lambda-Funktion einrichten. Wie auf der Doumentation gesagt:
%Vor%event - AWS Lambda verwendet diesen Parameter, um Ereignisdaten an den Handler zu übergeben. Dieser Parameter ist normalerweise vom Python-Diktattyp. Es kann auch list-, str-, int-, float- oder NoneType-Typ sein.
Kontext - AWS Lambda verwendet diesen Parameter, um Ihrem Handler Informationen zur Laufzeit bereitzustellen. Dieser Parameter ist vom Typ LambdaContext.
Testen des Codes als Lambda-Funktion:
Der CLI-Befehl zum Erstellen der Lambda-Funktion:
%Vor%Weitere Informationen mit Lambda-Funktion: Klicken Sie hier und hier . :)
Tags und Links python aws-lambda