Recherche…


Introduction

Les développeurs Lambda gèrent les problèmes nécessitant l'utilisation d'autres ressources AWS. Cette rubrique se concentre sur S3 (Simple Storage Service) qui sera généralement utilisé pour stocker des fichiers statiques et d'autres configurations. Cette documentation prendra en compte l'utilisation d'AWS-SDK dans lambda, l'accès aux fichiers dans S3 à partir de Lambda et le déclenchement des fonctions Lambda lorsqu'un événement S3 est déclenché.

Cheatsheet

AWS-SDK pour javascript

Lambda contient aws-sdk ( https://aws.amazon.com/sdk-for-node-js/) dans son ensemble, donc pas besoin de télécharger ce module de nœud dans le fichier zip.

const AWS = require('aws-sdk');

Fonction d'échantillon

module.exports.myFunction = (event, context, callback) => {
    const response = {
        statusCode: 200,
        body: 'Hello Lambda!',
    };
    return callback(null, response);
};

S3 en cours d'exécution

const s3 = nouveau AWS.S3 ();

Utiliser avec Elasticache Redis

//make sure redis node-module is added in zip
const redis = require('redis'); 
//the redis information should be stored in the environment, not hard coded
const redis_options = {
    host: process.env.REDIS_HOST,
    port: process.env.REDIS_PORT
};

module.exports.myFunction = (event, context, callback) => {
    try {
        let client = redis.createClient(redis_options);
        context.callbackWaitsForEmptyEventLoop = false;

        client.on('connect', () => {
            console.log('Connected:', client.connected);
        });

        client.on('end', () => {
            console.log('Connection closed.');
        });

        client.on('ready', function () {
            console.log('Connection ready.');
            client.keys('*', (err, keys) => {
            //always quit the redis client when no longer needed
            //else the connection will be used up
            client.quit(); 

            const response = {
                statusCode: 200,
                body: keys,
            };
            
            return callback(null, response);
        });
    } catch (err) {
        if (client) { client.quit();}
        console.log('Error!: ' + err.message);
        callback(err);
    }
};


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