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函数成功执行。
试着看“日志输出”,你会得到更多关于实际错误的细节。
谢谢
- 节点js中的代码lambda:从事件数据中获取s3密钥的最后修改date
- pipestream到s3.upload()
- 使用JavaScript API设置S3对象到期(用于删除)
- Amazon S3 POST API以及使用NodeJS签署策略
- 你如何通过node.jsstream向S3上传并向用户显示进度?
- 你如何写入aws lambda实例的文件系统?
- aws ec2 getaddrinfo ENOTFOUND错误代码
- nodejs – 使用fs.createReadStream,requestjs,streaming和AWS S3 presigned url上传会引发错误
- 节点aws-sdk s3file upload大小