Метод 1. Использование AWS SDK
AWS SDK предоставляет полный набор API-интерфейсов для взаимодействия с различными сервисами AWS, включая Amazon S3. Чтобы прочитать файл из корзины S3 с помощью AWS SDK, выполните следующие действия:
-
Установите AWS SDK для Node.js, выполнив следующую команду в каталоге проекта:
npm install aws-sdk -
Требуйте AWS SDK в файле Node.js:
const AWS = require('aws-sdk'); -
Настройте AWS SDK, используя свои учетные данные AWS:
AWS.config.update({ accessKeyId: 'YOUR_ACCESS_KEY', secretAccessKey: 'YOUR_SECRET_ACCESS_KEY' }); -
Создайте экземпляр службы S3:
const s3 = new AWS.S3(); -
Используйте метод
getObject, чтобы прочитать файл из корзины S3:const params = { Bucket: 'YOUR_BUCKET_NAME', Key: 'YOUR_FILE_KEY' }; s3.getObject(params, (err, data) => { if (err) { console.error(err); } else { console.log(data.Body.toString()); } });
Метод 2: использование библиотеки aws-sdk-mock
Иногда во время тестирования или разработки вам может потребоваться имитировать функциональность S3 AWS SDK. Библиотека aws-sdk-mockпозволяет имитировать поведение методов AWS SDK. Вот пример того, как прочитать файл из корзины S3 с помощью aws-sdk-mock:
-
Установите библиотеку
aws-sdk-mock, выполнив следующую команду:npm install aws-sdk-mock -
Требуйте библиотеку
aws-sdk-mockв файле Node.js:const AWSMock = require('aws-sdk-mock'); const AWS = require('aws-sdk'); -
Имитация поведения метода
getObject:AWSMock.mock('S3', 'getObject', (params, callback) => { callback(null, { Body: 'Mocked file content' }); }); -
Используйте имитируемый метод
getObject, чтобы прочитать файл из корзины S3:const s3 = new AWS.S3(); const params = { Bucket: 'YOUR_BUCKET_NAME', Key: 'YOUR_FILE_KEY' }; s3.getObject(params, (err, data) => { if (err) { console.error(err); } else { console.log(data.Body.toString()); } });
Метод 3. Использование библиотеки s3-get-object
Библиотека s3-get-objectобеспечивает простой и понятный способ чтения файлов из корзины S3. Вот пример использования s3-get-object:
-
Установите библиотеку
s3-get-object, выполнив следующую команду:npm install s3-get-object -
Требуйте библиотеку
s3-get-objectв файле Node.js:const s3GetObject = require('s3-get-object'); -
Используйте функцию
getObject, чтобы прочитать файл из корзины S3:const params = { Bucket: 'YOUR_BUCKET_NAME', Key: 'YOUR_FILE_KEY' }; s3GetObject.getObject(params).then((data) => { console.log(data.Body.toString()); }).catch((err) => { console.error(err); });
Это всего лишь несколько способов чтения файлов из корзины S3 с помощью Node.js. В зависимости от вашего конкретного случая использования вы можете выбрать метод, который лучше всего соответствует вашим потребностям. Приятного кодирования!