【发布时间】:2018-08-01 04:45:19
【问题描述】:
我正在尝试将所有项目(文件和文件夹)从一个 s3 bucket 复制到另一个。我在AWS Lambda 上运行它,所以同步对我来说不是一个好的选择,因为执行同步命令可能需要 5 分钟以上。这是我的 JS 代码:
var AWS = require("aws-sdk");
exports.handler = (event, context, callback) => {
var s3 = new AWS.S3();
var sourceBucket = "source-bucket";
var destinationBucket = "destination-bucket";
var objectKey = "/";
var copySource = encodeURI(sourceBucket + objectKey);
var copyParams = { Bucket: destinationBucket, CopySource: copySource, Key: objectKey
};
s3.copyObject(copyParams, function(err, data) {
if (err) {
console.log(err, err.stack);
} else {
console.log("S3 object copy successful.");
}
});
};
不知何故,这段代码不起作用。我想在这里实现两件事。
- 将所有数据从一个存储桶复制到另一个存储桶
- 一旦我实现了复制操作,我会每天定期运行这段代码,在“目标存储桶”中创建一个新文件夹,并每天将所有数据复制到新创建的文件夹中。
如果有人可以帮助我,我将不胜感激。
【问题讨论】:
标签: javascript node.js amazon-web-services aws-lambda aws-sdk