2014-12-02 92 views

回答

0

假设您有一个函数listFiles,它返回要下载的存储区中的密钥数组,以及接受文件密钥(名称)并下载并删除它的函数downloadFile

你想对listFiles返回的所有文件同时调用downloadFile对不对?使用async库。

function listFiles(cb) { 
    s3.stuff(params, cb); 
} 
function downlaodFile(key, cb) { 
    s3.stuff(key, cb); 
} 
listFiles(function (err, fileKeys) { 
    if (err) { 
     throw err;//don't really but this is just an example 
    } 
    async.each(fileKeys, downloadFile, function done(err) { 
     if (err) { 
      throw err; 
     } 
    }); 
}); 
+0

我已经下载了一个文件。我正在寻找一种方法来下载一个拍摄桶..类似[downloadBucket()或transferBucket()..等] – 2014-12-07 13:08:41

+1

该功能不存在于S3 – Max 2014-12-07 13:59:38

0

可以使用下面的命令中使用aws cli

aws s3 sync s3://yourbucket . 

如果你必须使用node那么你可以使用execspwan

const exec = require('child_process').exec; 
exec('aws s3 sync s3://yourbucket .', (err, stdout, stderr) => {}); 
相关问题