@Snoz3f

Почему AWS выбивает ошибку?

import { Injectable } from '@nestjs/common';
import aws from 'aws-sdk';
import { UploadTaskFilesDto } from './dto/uploadTaskFiles.dto';

@Injectable()
export class FileUploadService {
  async uploadTaskFile(uploadTaskFilesDto: UploadTaskFilesDto) {
    const s3 = new aws.S3({
      region: 'eu-central-1',
      accessKeyId: process.env.AWS_ACCESS_KEY,
      secretAccessKey: process.env.AWS_SECRET,
      signatureVersion: 'v4',
    });
    const uploadUrls: string[] = [];
    for (let i = 0; i < uploadTaskFilesDto.files.length; i++) {
      const file = uploadTaskFilesDto.files[i];
      const params = {
        Bucket: 'bucket',
        Key: `${file.name}`,
        Expires: 60,
      };
      await s3.getSignedUrlPromise('putObject', params).then((url) => {
        uploadUrls.push(url);
      });
    }
    return uploadUrls;
  }
}

Приветствую, имеется вот такой код(приведен выше). До этого работал, но в один момент просто перестал, при этом в коде ничего не изменялось. Начал выбивать ошибку на этапе инициализации S3

TypeError: Cannot read properties of undefined (reading 'S3')


В чем может быть причина этой ошибки? Пакеты переустанавливал, опять же, все до этого работало корректно
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
@Snoz3f Автор вопроса
Как сказали выше, поменяли api, теперь импортить можно только с деструктуризацией
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
15 нояб. 2024, в 14:07
20000 руб./за проект
15 нояб. 2024, в 14:05
15000 руб./за проект
15 нояб. 2024, в 13:29
50000 руб./за проект