Javascript

[Express] AWS S3 Image 삭제하기

eulBlue 2024. 4. 12. 17:06

 

📱테스트 환경

"express": "^4.18.2"
"typescript": "^5.3.3"

 

 

[Exprss] AWS S3 Image 업로드하기

📱테스트 환경 "express": "^4.18.2" "typescript": "^5.3.3" Exprss Server 를 만들고 S3에 이미지를 넣었던 적이 있다. 이때는 이미지 보안때문에 이미지를 base64 로 만들고 해당 이미지를 S3 에 저장했는데 그때

8735.tistory.com

에 이어서 이미지를 업로드만 하면 S3 에 계속해서 쌓이고 ..

더미데이터가 계속 쌓이고 .. 비용이 비싸진다 ..

그렇다면 이미지도 지워야하는데, 이미지를 지우는 방법은 업로드보다는 훨씬 쉽다 !

// awsConfig.ts

import AWS from "aws-sdk";

const config = {
  accessKeyId: process.env.ACCESS_KEY_ID,
  secretAccessKey: process.env.SECRET_ACCESS_KEY,
  region: "your-region",
};

AWS.config.update(config);

export default AWS;
// deleteImageToS3.ts

export const delteImageToS3 = (imageName: string) => {
  const s3 = new AWS.S3();

  const params = {
    Bucket: process.env.S3_BUCKET,
    Key: imageName,
  };

  s3.deleteObject(params, function (err, data) {
    if (err) {
      console.log("Error deleting object:", err);
    } else {
      console.log("Object deleted successfully:", data);
    }
  });
};

지울 이미지의 이름을 받아와서 파람에 넣어주고

deleteObject 를 실행시켜주면 끝!