티스토리 뷰

AWS S3

Amazon Simple Storage Service는 인터넷용 스토리지 서비스입니다. 

 

버킷(Bucket)

객체들이 모여있는 컨테이너를 버킷(Bucket)이라 부르며 가장 높은 수준의 네임스페이스 역할을 한다. 버킷은 액세스 제어나 사용량 보고에 대한 집계 단위 등 여러 목적으로 사용할 수 있다.

 

객체(Object)

데이터가 저장되는 단위를 객체라고 부르고, 객체는 데이터와 키, 메타데이터로 구성된다. 

객체 키는 버킷 내 객체를 고유하게 식별한다.

 

객체 키(Object Key)

객체를 만들 때 버킷 내 각 객체의 고유한 식별자로 키 이름을 지정합니다.

Amazon S3 데이터 모델은 단조로운 구조를 가지고 있습니다. 하위 버킷 또는 하위 폴더의 계층 구조는 없습니다.

그러나 Amazon S3 콘솔과 같이 키 이름 접두사 및 구분 기호를 사용하여 논리적인 계층 구조를 유추할 수 있습니다.

 

콘솔은 구분 기호('/')를 사용하여 폴더 구조를 표현합니다.

test.jpg 파일이 image 폴더 안에 들어가 있다면 test.jpg 파일의 키는 image/test.jpg이다

 

File Upload

file_name = 업로드할 파일, 상대 경로는 실행하는 코드를 기준으로 한다

bucket = 업로드될 버킷의 이름을 지정한다

key = 업로드되어 버킷 내에서 해당 파일이 가질 키를 지정한다, image/test.jpg 라고 하면 버킷의 image폴더 안에 test.jpg라는 파일명으로 저장된다.

import boto3

file_name = 'image/atv_rider0001.jpg'
bucket = 'flxr-yolo'
key = 'image/test.jpg'

# Upload the file
s3 = boto3.client('s3')
res = s3.upload_file(file_name, bucket, key)

 

File Download

file_name = Download한 파일이 저장될 위치를 지정한다, 상대 경로는 실행하는 코드를 기준으로 한다

bucket = 다운로드 할 버킷의 이름을 지정한다

key = 다운로드 할 객체를 지정한다, image폴더 안에 atv_rider0001.jpg라는 파일을 가져온다

import boto3

file_name = 'image/atv_rider0001.jpg'
bucket = 'flxr-yolo'
key = 'image/atv_rider0001.jpg'

# Download the file
client = boto3.client('s3')
client.download_file(bucket, key, file_name)

 

Ref

1. https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/Welcome.html

2. https://planbs.tistory.com/entry/S3%EC%97%90-%EC%A0%91%EA%B7%BC%ED%95%98%EA%B8%B0

3. https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/UsingMetadata.html#object-metadata

'Computer Science > AWS' 카테고리의 다른 글

[AWS]Boto3 사용하기  (0) 2019.11.12
AWS CLI 설치하기(Linux, Mac)  (0) 2019.11.12
AWS API 사용을 위한 IAM 계정 생성하기  (0) 2019.11.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함