我有一个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))
}
};