파일 업로드와 조회

Python으로 시작하는 AWS Boto

Maksim Pecherskiy

Data engineer

버킷과 객체

객체가 있는 버킷

Python으로 시작하는 AWS Boto

버킷

S3 버킷

  • 버킷에는 이름이 있습니다
  • 이름은 문자열입니다
  • S3 전체에서 고유한 이름
  • 여러 객체를 포함

객체

S3 객체

  • 객체에는 가 있습니다
  • 이름은 버킷 루트부터의 전체 경로
  • 버킷 내에서 고유한
  • 하나의 상위 버킷에만 속함
Python으로 시작하는 AWS Boto

클라이언트 생성

s3 = boto3.client(
  's3', 
  region_name='us-east-1', 
  aws_access_key_id=AWS_KEY_ID, 
  aws_secret_access_key=AWS_SECRET
)

S3와의 클라이언트 통신

Python으로 시작하는 AWS Boto

파일 업로드

s3.upload_file(
  Filename='gid_requests_2019_01_01.csv', 
  Bucket='gid-requests', 
  Key='gid_requests_2019_01_01.csv')

버킷에 객체 업로드

Python으로 시작하는 AWS Boto

파일 업로드

S3의 파일

Python으로 시작하는 AWS Boto

객체 더 업로드하기

더 많은 객체 업로드

Python으로 시작하는 AWS Boto

버킷의 객체 나열

response = s3.list_objects(
  Bucket='gid-requests', 
  MaxKeys=2,
  Prefix='gid_requests_2019_')

print(response)

list_objects 응답

Python으로 시작하는 AWS Boto

버킷의 객체 나열

버킷의 객체 나열

Python으로 시작하는 AWS Boto

버킷의 객체 나열

버킷의 객체 나열

Python으로 시작하는 AWS Boto

버킷의 객체 나열

버킷의 객체 나열

Python으로 시작하는 AWS Boto

객체 메타데이터 가져오기

response = s3.head_object(
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

print(response)

head_object 메서드

Python으로 시작하는 AWS Boto

객체 메타데이터 가져오기

객체 메타데이터 응답

Python으로 시작하는 AWS Boto

파일 다운로드

s3.download_file(
  Filename='gid_requests_downed.csv',
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

파일 다운로드

Python으로 시작하는 AWS Boto

객체 삭제

s3.delete_object(
  Bucket='gid-requests', 
  Key='gid_requests_2018_12_30.csv')

객체 삭제

Python으로 시작하는 AWS Boto

요약

  • 버킷은 폴더와 유사
  • 객체는 파일과 유사
  • boto3.client()
  • s3.upload_file()
  • s3.list_objects()
  • s3.head_object()
  • s3.download_file()
  • s3.delete_object()

버킷

Python으로 시작하는 AWS Boto

객체를 만들어 봅시다!

Python으로 시작하는 AWS Boto

Preparing Video For Download...