Vue.js 설정 부분
AWS-SDK 설치 및 기본 설정
- 터미널 → npm install --save aws-sdk
- import 및 기본 설정 하기
- 생성한 Cognito 자격 증명 풀 ID는 Cognito 자격 증명 풀 편집에서 볼 수 있음
Cognito 자격 증명 풀 ID - AWS.config.region: 지역 설정
- AWS.config.credentials: ID 정책 설정
- new AWS.S3: 객체 인스턴스 생성
- params: 기본 파라미터 설정
- 생성한 Cognito 자격 증명 풀 ID는 Cognito 자격 증명 풀 편집에서 볼 수 있음
import AWS from 'aws-sdk'
AWS.config.region = 'ap-northeast-2(지역)';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: '생성한 Cognito 자격 증명 풀 ID',
});
const s3 = new AWS.S3( {
params: {
Bucket: '생성한 버킷 객체 이름'
}
});
파일 리스트 가져오기 (listObjectV2)
let file_key_lists = [];
// Prefix: 특정 폴더 설정
// MaxKeys: 가져올 최대 파일 개수
s3.listObjectsV2({Prefix: 'img'}, (err, data) => {
if (err) {
// 에러 처리 코드
throw err;
} else {
let contents = data.Contents;
// contents: 파일 객체 리스트
contents.forEach((content) => {
// content.Key: 파일 이름(경로)
file_key_lists.push(content.Key);
});
}
});
파일 URL 가져오기 (getSignedUrl)
- 단순 Preview 기능 이용
// Key: 파일 이름(경로)
s3.getSignedUrl({Key: 'PATH'}, (err, url) => {
if (err) {
// 에러 처리 코드
throw err;
} else {
console.log(url);
}
});
파일 Stream 가져오기 (getObject)
- Preview, Download 기능 등 이용
// Key: 파일 이름(경로)
s3.getObject({Key: 'PATH'}, (err, data) => {
if (err) {
// 에러 처리 코드
throw err;
} else {
// data URL
let dataURL = "data:image/jpeg;base64," + encode(data.Body);
// blob URL
const blob = new Blob([data.Body], {
type: data.ContentType
});
const blobURL = URL.createObjectURL(blob);
}
});
Amazon S3 버킷에서 사진 보기: 전체 코드 보기 - AWS SDK for JavaScript
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
참고 링크 2: https://talkit.tistory.com/580
[javascript] AWS S3에서 파일 읽기
var AWS = require('aws-sdk'); const s3 = new AWS.S3({ accessKeyId: "아이디", secretAccessKey: "시크릿키" }); var params = {Bucket: 'myBucket', Key: 'myImageFile.jpg'}; var file = require('fs').creat..
talkit.tistory.com
참고 링크 3: https://mygumi.tistory.com/320
Amazon S3: 파일 관리를 위한 aws-sdk 활용법 :: 마이구미
이 글은 아마존 웹 서비스(AWS) 중 S3 를 다뤄본다. 주요 목적은 S3 를 통해 CMS, FTP 와 같은 리소스 관리 시스템을 구축에 필요한 aws-sdk 의 내부 함수들을 다뤄본다. 자바스크립트를 기준으로 진행
mygumi.tistory.com
'Web > JavaScript' 카테고리의 다른 글
Vue.js - Kakao Map API (0) | 2021.08.31 |
---|---|
Vue.js - DOM 요소 접근 (0) | 2021.08.30 |
Vue.js - AWS S3 (AWS 설정 부분) (0) | 2021.08.29 |
JavaScript - Axios (Ajax) (0) | 2021.08.29 |
Vue.js - Composition API (0) | 2021.08.29 |