aws-lambda
AWS Lambda с S3
Поиск…
Вступление
Разработчики Lambda будут обрабатывать проблемы, требующие использования других ресурсов AWS. В этом разделе основное внимание уделяется S3 (Simple Storage Service), который обычно используется для хранения статических файлов и других конфигураций. В этой документации рассмотрим использование AWS-SDK в лямбда, доступ к файлам на S3 из Lambda и запуск функций Lambda при запуске события S3
Cheatsheet
AWS-SDK для javascript
Lambda содержит aws-sdk ( https://aws.amazon.com/sdk-for-node-js/) в своей глобальной сети, поэтому нет необходимости загружать этот узел-модуль в zip.const AWS = require('aws-sdk');
Пример функции
module.exports.myFunction = (event, context, callback) => { const response = { statusCode: 200, body: 'Hello Lambda!', }; return callback(null, response); };
Запуск S3
const s3 = новый AWS.S3 ();
Использовать с 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow