AWS Lambda copyObject“在完成请求之前退出进程”

我试图复制上传到S3存储桶的文件来创build时间戳备份。 (“活”文件将被定期覆盖以保持永久链接)

AWScopyObject,但是,似乎并没有执行。 我收到以下错误

{ "errorMessage": "Process exited before completing request" } 

导致此错误的代码如下所示;

  console.log('Loading function'); var AWS = require('aws-sdk'); var s3 = new AWS.S3(); exports.handler = function(event, context) { var srcBucket = event.Records[0].s3.bucket.name; var srcKey = event.Records[0].s3.object.key; var dstKey = srcBucket+'/backup/'+ Date.now() + '-' +srcKey; console.log(srcKey); console.log(dstKey); var copyParams = { Bucket: srcBucket, CopySource : srcBucket + '/' + srcKey, Key: dstKey }; s3.copyObject( copyParams, function (err, data) { if (err) { console.log("ERROR copyObject"); console.log(err); } else { console.log('SUCCESS copyObject'); } context.done(); }); }; 

什么可能导致lambda在AWSCopyObjectcallback之前退出? 根据https://aws.amazon.com/blogs/compute/container-reuse-in-lambda/这个错误build议context.done()从来没有命中。

我正面临类似的问题,似乎问题我只是当我尝试使用AWS Lambda控制台testing,但是当我试图用真正的桶执行testing(上传testing文件)和Lambda函数成功执行。

试着看“日志输出”,你会得到更多关于实际错误的细节。

谢谢