aws-lambda
AWS Lambda con S3
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