Suche…


Bemerkungen

AWS Lambda ist ein serverloses Setup zum Ausführen von Funktionen in der Cloud. Es nutzt vorhandene Amazon Web Services-Technologien für eine unbegrenzte Skalierung und Ausführung, wenn dies in der eigenen isolierten Umgebung erforderlich ist. Mit Lambda können Sie Ihren Code hochladen, ihn so konfigurieren, dass er basierend auf einer Vielzahl von Triggern ausgeführt wird, und den Prozess nach dessen Abschluss automatisch außer Betrieb setzen. Es arbeitet mit einem Pay-per-Use-Modell und ist äußerst kostengünstig und leicht skalierbar.


AWS Lambda unterstützt Code, der in Node.js (JavaScript), Python, Java (Java 8-kompatibel) und C # (.NET Core) geschrieben ist. Ihr Code kann vorhandene Bibliotheken enthalten, auch native.

Auslöser können sein:

HTTP-Endpunkte

  • Mobile Apps
  • Andere AWS Services (einschließlich REST-Implementierung mit Amazon API Gateway)

Lambda ist am besten für die serverlose Datenverarbeitung in Echtzeit konzipiert, z.

  • Dateiverarbeitung von Uploads
    • Transkodierung
    • Indizierung
    • Validierung
    • Größenänderung und Filterung
  • Streaming-Datenanalyse
  • Telemetrie
  • Ausführen als methodenbasiertes Mobile- und Web-Backend
  • Erweiterung und Verknüpfung anderer AWS-Produkte

Installation oder Setup

  1. Melden Sie sich bei Ihrer AWS Console an und klicken Sie auf der Registerkarte Dienste auf Lambda .

  2. Unter Funktionen können Sie eine Lambda-Funktion mit der gleichnamigen Schaltfläche erstellen . Geben Sie hier die Bildbeschreibung ein

  3. Es wird ein Bildschirm angezeigt, auf dem Sie einen Entwurf auswählen können. Dies sind einfach Ausgangspunkte für bestehende Lambda-Funktionen, um schnell mit Lambda zu beginnen. Geben Sie hier die Bildbeschreibung ein

  4. Auf dem nächsten Bildschirm können Sie alle Trigger konfigurieren, mit denen Sie diese Lambda-Funktion deaktivieren möchten. Sie können zwischen keinen Auslösern (durch manuelle Einrichtung später je nach Aufgabe), API-Gateway (zum Erstellen eines serverlosen REST-Clients), Alexa Skills oder einer Vielzahl anderer Funktionen auswählen, um die von Ihnen erstellte Funktion auszulösen. Geben Sie hier die Bildbeschreibung ein

  5. Sie schließen die Konfiguration auf dem nächsten Bildschirm ab, indem Sie Name , Beschreibung festlegen, eine Laufzeit auswählen, die Funktion bearbeiten, eine ZIP-Datei hochladen oder eine Datei aus Amazon S3 hochladen. Wählen Sie eine Rolle aus (nützlich für Berechtigungen) Interaktion zwischen AWS-Diensten), legen Sie den Speicher und die Grenzen fest und bereiten Sie Ihre App für den Live-Einsatz vor. Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

  6. Zuletzt überprüfen Sie Ihre Funktion und erstellen sie. Da Lambda das Pay-Per-Use-Modell verwendet, fallen keine Ladegeräte an, bis Sie Ihre neu erstellte Funktion verwenden. Geben Sie hier die Bildbeschreibung ein

Java AWS-Lambda S3 wird ausgelöst

Eine AWS-Lambda-Funktion kann an ein bestimmtes Bucket-Ereignis angehängt werden. Wenn eine Datei / ein Ordner erstellt oder entfernt wird, kann ein Ereignis die Ausführung der Lambda-Funktion auslösen.

Eine einfache Lambda-Funktion zum Drucken des Namens einer hochgeladenen Datei

Dies ist ein einstufiges Lambda-Projekt zum Drucken des Namens einer hochgeladenen Datei. Für maven müssen wir diese Abhängigkeiten hinzufügen:

    <dependencies>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.1.0</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-events</artifactId>
        <version>1.3.0</version>
        <type>jar</type>
    </dependency>
</dependencies>

Gehen wir jetzt zu unserer HelloWorld-Klasse:

package com;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.S3Event;
import com.amazonaws.services.s3.event.S3EventNotification;

public class HelloWorld implements RequestHandler< S3Event, String> {
    @Override
    public String handleRequest(S3Event event, Context ctx) {
     S3EventNotification.S3EventNotificationRecord record=event.getRecords().get(0);
     System.out.println("Bucket Name is "+record.getS3().getBucket().getName());
     System.out.println("File Path is "+record.getS3().getObject().getKey());
     return null;
    }
}

Der nächste Schritt besteht darin, das Projekt mit mvn zu erstellen.

Nachdem Sie das Projekt erstellt haben, müssen Sie es in AWS-Lambda hochladen. Gehen Sie zu Lambda und wählen Sie "Lambda-Funktion erstellen". Überspringen Sie den Teil, in dem Sie den Blueprint auswählen, da Java normalerweise nicht vorhanden ist.

Überspringen Sie auch "Auslöser konfigurieren", da wir ihn an einem anderen Ort konfigurieren. Geben Sie auf der nächsten Seite einen Namen für Ihre erste Lambda-Funktion ein, dann eine kleine Beschreibung und wählen Sie Java als Laufzeit.

Wählen Sie als "Code-Eingabetyp" die Option "Upload aus einer ZIP-Datei" und wählen Sie dann am nächsten Speicherort Ihre ZIP-Datei aus, um sie hochzuladen.

Der knifflige Teil auf dieser Seite ist das Feld "Handler". Im Handler-Feld müssen Sie den Ort der Klasse angeben, in der der RequestHandler implementiert wird. Diese Klasse ist der Einstiegspunkt für das Lambda und Ihre Lambda-Funktion funktioniert nicht, wenn dies nicht korrekt angegeben wird. Für unseren Fallbearbeiter ist "com.HelloWorld"

Anbringen eines S3-Auslösers an Lambda:

Hier fügen wir einen Auslöser zum Hochladen der S3-Datei hinzu

  • Gehe zu S3, wähle den Bucket und dann "Eigenschaften".
  • Gehen Sie im Abschnitt "Eigenschaften" zu "Ereignisse".
  • Ereignisdetails hinzufügen Wählen Sie im Feld "Ereignisse" aus, wie Sie Ihren Lambda auslösen möchten. Wir wählen "ObjectCreated (All)". Beachten Sie, dass sich die Lambda-Funktion und der Bucket in derselben Amazon Region befinden müssen
  • Aktivieren Sie für "Senden an" die Lambda-Funktion, und wählen Sie Ihre Lambda-Funktion aus der Liste aus.

Überwachen der Lambda-Ausgabe

Jetzt laden wir eine Datei in den Bucket hoch, der den Lambda-Auslöser hat. Um die Lambda-Ausgaben und Protokolle anzuzeigen, gehen Sie zu "CloudWatch", wählen Sie "Protokolle" und anschließend Ihre Lambda-Funktion. Unter "Log Streams" werden möglicherweise viele Einträge angezeigt. Wählen Sie den neuesten Eintrag aus, und öffnen Sie ihn. Dort sollten Sie die Ausgabe der Lambda-Ausführung sehen können.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow