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