NodeJs를 사용하여 AWS S3 버킷의 파일에 액세스
4261 단어 javascriptnodeawstutorial
NodeJs를 사용하는 AWS S3 버킷의 파일
1단계: AWS 계정 생성
2단계: 프로젝트 초기화
원하는
터미널을 열고 cd 명령을 사용하여 지시하십시오.
3단계: 필수 종속 항목 설치
4단계: S3 버킷 설정
및 '퍼블릭 버킷 또는 액세스 포인트 정책을 통해 버킷 및 객체에 대한 퍼블릭 및 교차 계정 액세스 차단'
버킷이 생성된 것을 축하합니다.
5단계: AWS 자격 증명 생성
6단계: .env 파일 만들기
.env 파일 내부에 다음을 입력하십시오.
7단계: 익스프레스 서버 만들기
-npm i dotenv
8단계: aws-sdk와 함께 multer를 사용하여 파일에 액세스
다음은 Express 서버의 표준 예입니다.
require("dotenv").config()
const 익스프레스 = 요구('익스프레스')
const 앱 = 익스프레스();
app.listen(3001);
const aws = 요구('aws-sdk')
const multer = 요구('multer')
const multerS3 = 요구('multer-s3');
aws.config.update({
secretAccessKey: process.env.ACCESS_SECRET,
accessKeyId: process.env.ACCESS_KEY,
지역: process.env.REGION,
});
const 버킷 = process.env.BUCKET
const s3 = new aws.S3();
const 업로드 = multer({
저장: multerS3({
s3: s3,
acl: "공개 읽기",
양동이: 양동이,
키: 기능(요청, 파일, cb) {
console.log(파일);
cb(널, 파일.원본이름)
}
})
})
app.post('/upload', upload.single('file'), 비동기 함수(req, res, next) {
res.send('Successfully uploaded ' + req.file.location + ' location!')
})
app.get("/list", async (req, res) => {
let r = await s3.listObjectsV2({ Bucket: BUCKET }).promise();
let x = r.Contents.map(item => item.Key);
res.send(x)
})
app.get("/download/:filename", async (req, res) => {
const 파일 이름 = req.params.filename
let x = await s3.getObject({ 버킷: BUCKET, 키: 파일 이름 }).promise();
res.send(x.본문)
})
app.delete("/delete/:filename", async (req, res) => {
const 파일 이름 = req.params.filename
await s3.deleteObject({ 버킷: BUCKET, 키: 파일 이름 }).promise();
res.send("파일 삭제 성공")
})
Reference
이 문제에 관하여(NodeJs를 사용하여 AWS S3 버킷의 파일에 액세스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/raktim_yoddha07/access-files-from-aws-s3-bucket-using-nodejs-1p0m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)