在上传S3文件时多次触发Lambda

时间:2019-06-06 00:29:48

标签: node.js amazon-s3 aws-lambda aws-sdk-nodejs

我有一个s3存储桶,并且在lambda上配置了s3事件以在文件上传到s3时触发,但是我想在每个文件上载100次时触发lambda,这是进行一些性能测试并找到限制点的方法。我尝试使用lambda上传s3文件,以便s3在文件上传时触发第二个lambda,但这在每个文件上传时触发一个lambda,但我希望lambda在每个文件上传时触发100次。

  

一次S3上传应触发100次相同的Lambda

测试lambda以上传文件

'use strict';
const proxy = require('proxy-agent');
const
    AWS = require( 'aws-sdk' ),
    S3  = new AWS.S3();
    AWS.config.update(
        {
            httpOptions: {agent: proxy('http://myprox.com:80')}
        }
    );

exports.handler = async ( event, context ) => {
    console.log( `FUNCTION STARTED: ${new Date()}` );
    try {
        for (let index = 0; index < 50; index++) {
            console.log('Counter :',index)
            const start= Date.now()
            const result= await S3.putObject( {
                Bucket: 'test-bucket',
                Key: index+'my.json',
                Body: JSON.stringify( {
                   "Id":index,
               })
           } ).promise();
           const end= Date.now();
           console.log(`Time taken for counter: ${index} to upload S3 is: ${end-start} ms`)
           console.log('S3 result counter'+index,JSON.stringify(result))  

        }

    } catch (error) {
        console.log('S3 error',JSON.stringify(error))  
    }

};

0 个答案:

没有答案