Report this

What is the reason for this report?

I need to zip a set of files from a folder in bucket and download it for the User

Posted on October 18, 2017

I am uploading files in various folders in the bucket “managly”. I need to implement a functionality to zip a set of files (as selected by the User) from a folder in bucket and download the zip file for the User. I tried using “aws-s3-zipper” in Node.js to filter the files from the bucket’s folder and then zip it and download. I get the following error - InvalidAccessKeyId: The AWS Access Key Id you provided does not exist in our records. Kindly guide me and provide me the code in NodeJS to implement the same.

Code :-

var S3Zipper = require ('aws-s3-zipper');

var config ={
      accessKeyId: ACCESS_KEY_ID,
      secretAccessKey: SECRET_ACCESS_KEY,
      bucket: BUCKET
};

var zipper = new S3Zipper(config);

zipper.filterOutFiles = files; //files is the set of files selected by User

zipper.streamZipDataTo({
            pipe: res,
            folderName: 'attachments',
            startKey: 'null', // could keep null
            recursive: true
          }
          , function (err, result) {
            if (err)
              console.log(err);
            else {
              // console.log(result);
              var lastFile = result.zippedFiles[result.zippedFiles.length - 1];
              console.log('lastFile : ', lastFile)
              if (lastFile)
                console.log('last key ', lastFile.Key); // next time start from here
            }
          });

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.