GitHub - devjyno96/S3Control_Python: S3Controller about Anonymous-Cloud-Service · GitHub
Skip to content

devjyno96/S3Control_Python

Folders and files

Repository files navigation

S3Control

S3를 조작하는 라이브러리

변수 및 함수 설명

#aws는 boto3 라이브러리를 통해 연결 할 수 있다.

###fileKey = '' 파일을 업로드 하고 업로드 한 파일을 버킷내에서 유일하게 지정하는 키(sha1) 저장

###fileName = '' 파일의 실제 이름. 파일의 위치까지 지정해도 상관업다. 스플릿 해서 잘라 사용할꺼니깐

bucketName = 'awc20190723'

내 버킷 이름

###s3 = boto3.resource('s3') 전체 함수에서 사용할 컨트롤 객체

###def getHash(string) 파일명 + 현재시간 을 sha1코드로 변환 반환한 sha1값을 파일의 키값으로 사용

###def getMetadate(fileKeyGet) key값을 입력하면 그 키값에 있는 모든 정보들을 가져온다(메타데이터, 파일 생성날자, 생성한 아이디, ...) 이중에 원하는 값만 잘라서 사용하면 된다 파일 다운로드 함수에서는 실제 파일 이름만 필요하기 떄문에 메타데이터에 저장된 파일이름만 잘라서 사용한다.

###def upload(filePathUp) 파일의 이름(실제 위치한 주소가 있어도 상관없다)를 입력하면 파일을 s3에 올리고 파일의 키값을 반환한다 이 키값을 잃어버리면 파일을 찾기 어려워지니 꼭 파일의 키값을 변수에 잘 저장하자 업로드시 필요한 값들 - 파일 이름, 파일 메타데이터, 해쉬 매핑된 키 값

메타데이터들 - 미완성

업로드 할 때 사용자 정의 메타데이터에 넣어야 할 값들 - 사용자 정의 s3 메타 데이터
파일 키는 어떻게 지정해야 중복없이 매핑될까? - 파일 제목 + 현재 시간(초단위까지) SHA1 사용

  • --------------------------------------------메다데이터
  1. 파일 크기 - response에 내장 메타데이터 이용
  2. 파일 업로드 날자 - response에 내장 메타데이터 이용
  • --------------------------------------------기본 내장 메타데이터
  1. 파일 이름 - response에 내장 메타데이터 이용
  2. 파일 유형 - s3 object에 업로드 시 메타데이터에삽입
  3. 파일 다운로드 횟수 - reponse에 내장 메타데이터 이용
  4. 파일 안전한지 아닌지 - reponse에 내장 메다데이터 이용
    --------------------------------------------사용자 정의 메타데이터 - 업로드 시 내가 직접 넣어줘야 한다.

###def download(fileKeyDown)

key값을 입력하면 key값에 맞는 파일을 다운받는다

###def deleteObject(fileKeyDelete)

key값에 맞는 파일을 s3버킷내에서 삭제한다. 되돌릴 수 없다
? jinho : 되돌릴 수 있다면 기능을 구현해보는것도 좋을듯 싶다

###def getList()

버킷 내에 있는 모든 파일의 정보들을 읽어들이는 함수
홈페이지에 필요한 기능이 있다면 받은 정보들(dict Type)을 잘라서 사용하면된다

About

S3Controller about Anonymous-Cloud-Service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors