Buscar..


Introducción

Los desarrolladores de Lambda manejarán los problemas que requieren el uso de otros recursos de AWS. Este tema se centra en S3 (Servicio de almacenamiento simple), que normalmente se utilizará para almacenar archivos estáticos y otras configuraciones. Esta documentación considerará el uso de AWS-SDK en lambda, el acceso a los archivos en S3 desde Lambda y la activación de las funciones Lambda cuando se activa un evento S3

Hoja de trucos

AWS-SDK para javascript

Lambda contiene aws-sdk ( https://aws.amazon.com/sdk-for-node-js/) en su versión global, por lo que no es necesario cargar este módulo de nodo en el zip.

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

Función de muestra

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

Corriendo S3

const s3 = nuevo AWS.S3 ();

Usar con 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow