Recherche…


Remarques

AWS Lambda est une configuration sans serveur permettant d'exécuter des fonctions dans le cloud. Il exploite les technologies Amazon Web Services existantes à une échelle infinie et ne s'exécute que lorsque cela est nécessaire dans son propre environnement isolé. À l'aide de Lambda, vous pouvez télécharger votre code, le configurer pour qu'il s'exécute en fonction de divers déclencheurs, puis désactiver automatiquement le processus une fois l'opération terminée. Il fonctionne selon un modèle de paiement à l'utilisation et est extrêmement rentable et facile à adapter.


AWS Lambda prend en charge le code écrit en Node.js (JavaScript), Python, Java (compatible Java 8) et C # (.NET Core). Votre code peut inclure des bibliothèques existantes, même natives.

Les déclencheurs peuvent inclure:

Terminaux HTTP

  • Application mobile
  • Autres services AWS (y compris l'implémentation REST avec Amazon API Gateway)

Lambda est le mieux conçu pour le traitement de données sans serveur en temps réel, tel que:

  • Traitement de fichiers des téléchargements
    • Transcodage
    • Indexage
    • Validation
    • Redimensionnement et filtrage
  • Analyse des données en continu
  • Télémétrie
  • Exécuter en tant que backend Web et mobile basé sur les méthodes
  • Extension et liaison d'autres produits AWS

Installation ou configuration

  1. Connectez-vous à votre console AWS et cliquez sur Lambda sous l'onglet Services .

  2. Sous Fonctions, vous pourrez créer une fonction Lambda en utilisant le même bouton. entrer la description de l'image ici

  3. Un écran vous montrera où vous pouvez sélectionner un plan. Ce sont simplement des points de départ vers des fonctions Lambda existantes pour démarrer rapidement avec Lambda. entrer la description de l'image ici

  4. Sur l'écran suivant, vous pouvez configurer tous les déclencheurs que vous souhaitez utiliser pour "définir" cette fonction Lambda. Vous pouvez choisir entre aucun déclencheur (via une configuration manuelle plus tard en fonction de votre tâche), API Gateway (pour créer un client REST sans serveur), Alexa Skills, ou une pléthore d'autres pour déclencher la fonction que vous allez créer. entrer la description de l'image ici

  5. Vous allez terminer la configuration sur l'écran suivant en définissant le Nom , la Description , en choisissant un Runtime , en choisissant d'éditer la fonction en ligne, de télécharger un fichier .zip ou de télécharger un fichier depuis Amazon S3, choisissez un rôle (utile pour les autorisations interaction entre les services AWS), définissez la mémoire et les limites, et préparez votre application pour une utilisation en direct. entrer la description de l'image ici entrer la description de l'image ici

  6. Enfin, vous allez revoir votre fonction et la créer. Dans la mesure où Lambda utilise le modèle de paiement à l'utilisation, aucun chargeur n'est généré tant que vous ne commencez pas à utiliser votre nouvelle fonction. entrer la description de l'image ici

Java AWS-Lambda S3 déclenché

Une fonction AWS-Lambda peut être associée à un événement de compartiment spécifique. Chaque fois qu'un fichier / dossier est créé ou supprimé, un événement peut déclencher l'exécution de la fonction lambda.

Une simple fonction Lambda pour imprimer le nom d'un fichier téléchargé

Ceci est un projet lambda d'une classe pour imprimer le nom d'un fichier téléchargé. Pour maven, nous devons ajouter ces dépendances:

    <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>

Passons maintenant à notre classe HelloWorld:

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;
    }
}

La prochaine étape consiste à construire le projet en utilisant mvn.

Après avoir créé le projet, vous devez le télécharger sur AWS-Lambda. Allez dans Lambda, choisissez "créer une fonction lambda". Ignorez la partie où vous choisissez le modèle, car Java n’est généralement pas présent.

En outre, ignorez "Configurer les déclencheurs" car nous allons le configurer à partir d'un emplacement différent. La page suivante, entrez un nom pour votre première fonction lambda, puis une petite description et choisissez Java comme runtime.

Pour le "Type d'entrée de code", choisissez "Télécharger depuis un fichier .ZIP", puis sélectionnez votre fichier .zip à l'emplacement suivant pour le télécharger.

La partie délicate de cette page est le champ Handler. Dans le champ du gestionnaire, vous devez spécifier l'emplacement de la classe sur laquelle est implémenté le RequestHandler. Cette classe est le point d’entrée du lambda et votre fonction Lambda ne fonctionnera pas si elle n’est pas spécifiée correctement. Car notre gestionnaire de cas est "com.HelloWorld"

Attacher un déclencheur S3 à Lambda:

Ici, nous allons attacher un déclencheur au téléchargement du fichier S3

  • Aller à S3, choisissez le compartiment, puis "Propriétés".
  • Dans la section "Propriétés", accédez à "Evénements".
  • Ajouter les détails de l'événement. Dans le champ "Événements", choisissez comment vous souhaitez déclencher votre Lambda. Nous choisirons "ObjectCreated (All)" Notez que la fonction lambda et le seau doivent être sur la même région amazonienne
  • Pour "Envoie à", cochez la fonction Lambda et choisissez votre fonction lambda dans la liste.

Surveillance de la sortie lambda

Maintenant, nous allons télécharger un fichier sur le compartiment contenant le déclencheur lambda. Pour voir les sorties et les journaux lambda, allez dans "CloudWatch", puis choisissez "Journaux", puis choisissez votre fonction Lambda. Vous pourriez voir de nombreuses entrées sous "Log Streams", choisissez la dernière et ouvrez-la. Vous devriez pouvoir voir la sortie de l'exécution lambda là-bas.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow