Node.js 递归下载整个S3存储桶,节点包装器

Node.js 递归下载整个S3存储桶,节点包装器,node.js,amazon-web-services,amazon-s3,npm,Node.js,Amazon Web Services,Amazon S3,Npm,我正在尝试将我的本地文件夹与来自s3 bucket(完整bucket dir结构)的文件同步。我尝试使用node-s3-client npm包,但与该包的连接失败。进程只是退出,没有任何输出。 以下是代码片段: const s3Client = require('s3'); let client = s3Client.createClient({ s3Options: { accessKeyId: config.accessKeyId, secretAccessKey: co

我正在尝试将我的本地文件夹与来自s3 bucket(完整bucket dir结构)的文件同步。我尝试使用node-s3-client npm包,但与该包的连接失败。进程只是退出,没有任何输出。 以下是代码片段:

const s3Client = require('s3');
let client = s3Client.createClient({
  s3Options: {
    accessKeyId: config.accessKeyId,
    secretAccessKey: config.secretAccessKey,
    region: config.region,
  },
});
 let params = {
    localDir: localdirName,
    deleteRemoved: true,
    s3Params: {
      Bucket: Bname,
    },
  };
let uploader = client.downloadDir(params);
    uploader.on('error', (err) => {
      throw err;
    });
    uploader.on('progress', () =>
      console.log('progress: ', uploader.progressAmount, uploader.progressTotal),
    );
    uploader.on('end', () => console.log('Upload completed!'));

如果这个问题无法解决,请帮助我解决,谢谢

我不知道为什么你要使用一些随机的npm模块,而aws有自己的完整文档和功能的sdk。使用它。@404 aws sdk没有下载功能,但有上传功能。我也不希望使用cli选项,因为我必须在节点应用程序本身上完成此操作
getObject
call下载文件,对吗?因此,您可以使用
listObjectsV2
查找所有对象,并为每个对象调用
getObject