Я хочу скопировать все содержимое корзины S3 в другую корзину S3 (в той же учетной записи) с помощью AWS Lambda ( NodeJs ).
Сейчас я делаю следующее:составить список содержимого исходного блока, а затем скопировать его в целевой контейнер.
Есть ли лучший способ скопировать все содержимое? Короче говоря, я хочу дубликатведро.
Мой код в 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!');
});
}
});