我正在尝试使用 node.js 的 knox 模块来管理 Amazon S3 存储桶中的一些小文件。一切都可以独立运行:我可以上传文件、下载文件等。但是,我希望能够定期下载文件。当我修改代码以按时间间隔运行时,我将下载的文件附加到前一个实例而不是覆盖。
我不确定我是否在文件写入代码或诺克斯处理代码中犯了错误。我尝试了几种不同的写入方法(writeFile、writeStream 等),并且查看了 knox 源代码。对我来说没有什么明显的问题。这是我正在使用的代码:
knox = require('knox');
fs = require('fs');
var downFile = DOWNFILE;
var downTxt = '';
var timer = INTERVAL;
var path = S3PATH + downFile;
setInterval(function()
{
var s3client = knox.createClient(
{
key: '********************',
secret: '**********************************',
bucket: '********'
});
s3client.get(path).on('response', function(response)
{
response.setEncoding('ascii');
response.on('data', function(chunk)
{
downTxt += chunk;
});
response.on('end', function()
{
fs.writeFileSync(downFile, downTxt, 'ascii');
});
}).end();
},
timer);