aws-lambda
AWS Lambda met S3
Zoeken…
Invoering
Lambda-ontwikkelaars zullen problemen behandelen die het gebruik van andere AWS-bronnen vereisen. Dit onderwerp richt zich op S3 (Simple Storage Service) die gewoonlijk wordt gebruikt voor het opslaan van statische bestanden en andere configuraties. Deze documentatie zal het gebruik van AWS-SDK in lambda overwegen, toegang tot bestanden in S3 vanuit Lambda en het activeren van Lambda-functies wanneer een S3-gebeurtenis wordt geactiveerd
Spiek briefje
AWS-SDK voor javascript
Lambda bevat aws-sdk ( https://aws.amazon.com/sdk-for-node-js/) in zijn algemene vorm, dus het is niet nodig om deze knooppuntmodule in de zip te uploaden.const AWS = require('aws-sdk');
Sample functie
module.exports.myFunction = (event, context, callback) => { const response = { statusCode: 200, body: 'Hello Lambda!', }; return callback(null, response); };
S3 uitvoeren
const s3 = nieuwe AWS.S3 ();
Gebruik met 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow