最近,我创建了一个函数,该函数将带有数据库文件的文件夹发送到亚马逊(备份)的S3存储桶中。
我正在使用一个名为FindIt-> https://github.com/substack/node-findit的包。我用它列出我的文件,然后将它们发送到我的存储桶
这是我的功能:
finder.on('file', function (file, stat) {
var params = {
Bucket: 'bucket-test-test-my-company',
Key: file,
Body: fs.createWriteStream(file)
};
});
s3.putObject(params, function(err, res) {
if(err) {
console.log(err);
}
else {
console.log("Success");
}
callback(err);
});
工作正常,我的文件夹里面的备份文件正在发送中。
该文件将每天发送,我不希望更新,我想用日期或一些已知顺序来创建一个新文件夹。
我真的不知道该怎么做,请帮忙吗?可能有一些教程?
谢谢。
的Key
,在上传的代码,是你想要的对象住,桶里面的路径。
您所要做的就是backups/daily/2014-20-09/
在上传之前,在字符串前添加一个表示当前备份“路径”的字符串,例如每个文件名的开头。
S3中的文件夹不是真实的,因此不必创建它们...但是,如果您在每个键中添加前缀字符串,并且该前缀包含/
斜杠,那么您的文件将在S3控制台中显示在文件夹中,正如您所期望的。
请注意,您不需要/
在前缀中加前导,但确实需要在末尾加前导。只需构建字符串并将其添加到您用于的值的开头即可Key:
。
或者,您可以在存储桶中启用版本控制。当您“覆盖”文件时,不会删除该文件-它仅成为文件的“先前版本”,并且所有先前的版本仍然可用,但是下载“该文件”而不指定版本将检索最新版本。
http://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句