본문 바로가기
웹/Infra

nodejs로 AWS S3 연동

by sun__ 2021. 7. 16.

버킷은 콘솔로 만드는게 맘편할듯

 

버킷 생성, cdn생성 과정 간단하게

- 버킷 생성 (이름: ~.~.com)

- 정책 json으로 설정

- 정적 웹사이트 호스팅 -> route53 레코드에 추가

- 인증서 (n버지니아리전, cdn.~.com, route53에 레코드 추가)

- 클라우드 프론트

   - behaviour설정 - referal추가

   - general alternative domain: cdn.~.com, route53등록

 

파일 업로드

const fs = require('fs');
const AWS = require('aws-sdk');
const BUCKET_NAME = /*버킷이름 그대로 {route}.{domain}.com*/;
const s3 = new AWS.S3({accessKeyId:/*별도관리*/, secretAccessKey:/*별도관리*/});
const uploadFile = (fileName) =>{
    const fileContent = fs.readFileSync(fileName);
    const params = {
        Bucket: BUCKET_NAME,
        Key: '/*업로드할 객체 이름*/',
        Body: fileContent
    };
    s3.upload(params, function(err,data){
        if(err){throw err;}
        console.log(`File uploaded successfully. ${data.Location}`);
    });
}
uploadFile('/*업로드할 객체 경로*/');

 

파일 삭제

const AWS = require('aws-sdk');
const BUCKET_NAME = '/*버킷이름*/';
const s3 = new AWS.S3({accessKeyId:"/*별도관리*/", secretAccessKey:"/*별도관리*/"});

s3.deleteObject({
    Bucket: BUCKET_NAME, // 사용자 버켓 이름
    Key: '/* 버켓 내 경로*/' //
  }, (err, data) => {
    if (err) { throw err; }
    console.log(`s3 deleteObject: ${data.Location}`);
  });

' > Infra' 카테고리의 다른 글

초보를 위한 쿠버네티스 안내서 - 실습준비  (0) 2021.09.21
k8s - Kube arch object  (0) 2021.09.21
k8s - Kube Architecture  (0) 2021.09.21
k8s - Container Orchestration  (0) 2021.09.21
nodejs, gitlab, elastic beanstalk CICD구축  (0) 2021.07.26