웹/Infra
nodejs로 AWS S3 연동
sun__
2021. 7. 16. 21:42
버킷은 콘솔로 만드는게 맘편할듯
버킷 생성, 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}`);
});