본문 바로가기
Storify

STORIFY (0118) - s3 연결

by Peter.JH 2024. 1. 18.
728x90

1. s3 nestjs와 연결하기

'nest g resource storages' 명령어를 통해 모듈 생성

 

2. ai.service에서 langchain 함수 사용시 이미지는 aws s3, 나머지는 db에 저장되게 만들기.

 

  async bufferUploadToS3(fileName: string, buffer: Buffer, ext: string) {
    try {
      const command = new PutObjectCommand({
        Bucket: this.configService.get('AWS_S3_BUCKET_NAME'),
        Key: fileName,
        Body: buffer,
        ACL: 'public-read',
        ContentType: `image/${ext}`,
      });
      await this.s3Client.send(command);

      const region = this.configService.get('AWS_REGION');
      const bucket = this.configService.get('AWS_S3_BUCKET_NAME');

      return `https://s3.${region}.amazonaws.com/${bucket}/${fileName}`;
    } catch (error) {
      Logger.error(`bufferUploadToS3 실패: ${error.message}`);
      throw new Error('Buffer 업로드 실패했습니다.');
    }
  }
728x90