how to download array of files from aws s3 using aws sdk in nodejs
Downloading an Array of Files from AWS S3 using the AWS SDK in Node.js
To download an array of files from AWS S3 using the AWS SDK in Node.js, you can follow these steps:
Install the AWS SDK for Node.js by running the following command in your project directory:
npm install aws-sdk
Import the necessary modules and configure the AWS SDK with your access credentials. Here's an example code snippet: ```javascript const AWS = require('aws-sdk'); const fs = require('fs');
AWS.config.update({ accessKeyId: 'YOUR_ACCESS_KEY', secretAccessKey: 'YOUR_SECRET_ACCESS_KEY', }); const s3 = new AWS.S3(); ```
Iterate over your array of file keys and download each file using the
getObject
method of the S3 service. Here's an example code snippet: ```javascript const downloadFiles = async (fileKeys) => { for (const fileKey of fileKeys) { const params = { Bucket: 'YOUR_BUCKET_NAME', Key: fileKey, };try { const { Body } = await s3.getObject(params).promise(); fs.writeFileSync(fileKey, Body); console.log(
File ${fileKey} downloaded successfully.
); } catch (error) { console.error(Error downloading file ${fileKey}:
, error); } } };
const fileKeys = ['file1.txt', 'file2.txt', 'file3.txt']; downloadFiles(fileKeys); ```
In this example, the downloadFiles
function takes an array of file keys as input. It iterates over each file key, creates the necessary parameters for the getObject
method, and then uses the promise
method to await the response. The file content is then written to the local file system using the writeFileSync
method from the fs
module.
Make sure to replace 'YOUR_ACCESS_KEY'
, 'YOUR_SECRET_ACCESS_KEY'
, 'YOUR_BUCKET_NAME'
, and the file keys with your own values.
- Run your Node.js script to download the files from AWS S3.
Please note that the code provided is a basic example and may need to be adapted to your specific use case. Make sure to handle errors and customize the code according to your requirements.
I hope this helps! Let me know if you have any further questions.