【发布时间】:2020-06-30 01:11:21
【问题描述】:
我想使用 AWS Lambda (NodeJs) 将 S3 存储桶的所有内容复制到另一个 S3 存储桶(在同一账户中)。
现在,我要做的是列出源存储桶的内容,然后将它们复制到目标存储桶中。
有没有更好的方法来复制所有内容? 简而言之,我想要一个重复的存储桶。
我在 NodeJs 中的代码是:
s3.listObjects(sourceBucketParams, function(err, data) {
if (err) {
console.log("Error while copying files: ", err);
}
if (data === null || data === undefined) {
callback(null, 'All done!');
}
if (data.Contents.length) {
async.each(data.Contents, function(file, cb) {
var params = {
CopySource: sourceBucket + '/' + file.Key,
Bucket: destBucketName,
Key: file.Key,
ACL: 'public-read'
};
s3.copyObject(params, function(copyErr, copyData){
if (copyErr) {
console.log("Error: " + copyErr);
}
}
);
callback(null, 'All done!');
});
}
});
【问题讨论】:
标签: node.js amazon-web-services amazon-s3