AWS Lambda - Konfigurieren der Lambda-Funktion

In den vorherigen Kapiteln haben wir gelernt, wie Sie eine AWS Lambda-Funktion in der AWS-Konsole erstellen. Es gibt jedoch andere Parameter zum Erstellen einer Lambda-Funktion. Dazu gehören Speicherzuweisung, Zeitüberschreitung usw.

In diesem Kapitel werden die folgenden Konfigurationseigenschaften für AWS Lambda ausführlich erläutert.

Speicherzuweisung

Melden Sie sich bei der AWS-Konsole an und erstellen oder wählen Sie die vorhandene Lambda-Funktion aus. Drücke denConfigurationRegisterkarte, um die Details des zugewiesenen Speichers abzurufen. Schauen Sie sich den unten gezeigten Screenshot an -

Beachten Sie, dass standardmäßig der zugewiesene Speicher ist 128MB. Wenn Sie den Speicher vergrößern möchten, können Sie auf den Schieberegler klicken.

Der Speicher wird auf erhöht 64MBwie Sie den Schieberegler bewegen. Beachten Sie, dass der maximal verfügbare Speicher ist3008MB. Schauen Sie sich den unten gezeigten Screenshot an -

Sie können auch verwenden aws clivon der Eingabeaufforderung, um das Speicherlimit zu erhöhen. Sie müssen den Speicher in Schritten von 64 MB angeben.

Erhöhen wir nun das Speicherlimit von AWS Lambda mit folgendem Namen:myfirstlambdafunction.

Die Speicherdetails der Funktion sind im folgenden Screenshot dargestellt -

Der Befehl zum Ändern des Speichers mit aws cli ist wie folgt -

aws lambda update-function-configuration --function-name your function name --
region region where your function resides --memory-size memory amount --
profile admin user

Die entsprechende Ausgabe der AWS Lambda-Funktion myfirstlambdafunctionin der AWS-Konsole wird hier angezeigt. Beachten Sie, dass der Speicher von 128 MB auf 256 MB geändert wird.

Maximale Ausführungszeit

Timeout ist die Zeit, die der AWS Lambda-Funktion zugewiesen wird, um zu beenden, wenn das Timeout auftritt. Die AWS Lambda-Funktion wird entweder innerhalb der zugewiesenen Zeit ausgeführt oder beendet, wenn das angegebene Zeitlimit überschritten wird. Sie müssen die Zeit auswerten, die für die Ausführung der Funktion erforderlich ist, und entsprechend die Zeit in auswählenConfiguration Registerkarte in der AWS-Konsole wie unten gezeigt -

IAM-Rolle

Beim Erstellen der AWS Lambda-Funktion muss die Rolle oder die Berechtigung zugewiesen werden. Wenn Sie AWS Lambda für S3 oder dynamoDB benötigen, muss die Berechtigung für die Dienste von Lambda zugewiesen werden. Basierend auf der zugewiesenen Rolle entscheidet AWS Lambda über die auszuführenden Schritte. Wenn Sie beispielsweise vollen Zugriff auf dynamodb gewähren, können Sie die Zeilen zur dynamodb-Tabelle hinzufügen, aktualisieren und löschen.

Name des Handlers

Dies ist der Beginn der Ausführung der AWS Lambda-Funktion. Die Handler-Funktion enthält die Details des ausgelösten Ereignisses, des Kontextobjekts und des Rückrufs, der zurückgesendet werden musssuccess oder error von AWS Lambda.

Das Format der Handlerfunktion in nodejs wird hier gezeigt -

exports.handler = (event, context, callback) => {
   callback(null, "hello from lambda");
};

Lambda-Funktion unter Verwendung von Umgebungsvariablen

In diesem Abschnitt erstellen wir eine einfache Lambda-Funktion unter Verwendung von Umgebungsvariablen, die im Konfigurationsabschnitt hinzugefügt wurden. Befolgen Sie dazu die unten angegebenen Schritte und lesen Sie die entsprechenden Screenshots -

Schritt 1

Gehen Sie zur AWS-Konsole und erstellen Sie eine Funktion in Lambda wie gezeigt.

Schritt 2

Fügen Sie nun die Umgebungsvariablen wie gezeigt hinzu -

Schritt 3

Lassen Sie uns nun dasselbe im Lambda-Code wie folgt abrufen:

exports.handler = (event, context, callback) => {
   var hostName = process.env.host;   
   var userName = process.env.username;
   callback(null, "Environment Variables =>"+hostName+" and "+userName);
};

Schritt 4

Um die Details von Umgebungsvariablen zu erhalten, müssen wir verwenden process.envwie gezeigt. Beachten Sie, dass diese Syntax für istNodeJS Laufzeit.

var hostName = process.env.host;   
var userName = process.env.username;

Schritt 5

Die Ausgabe für die Lambda-Funktion bei Ausführung ist wie folgt: