상세 컨텐츠

본문 제목

AWS S3 업로더 개발 하기 1부

카테고리 없음

by 동동주1123 2014. 10. 15. 20:55

본문


예전에 갑자기 굳이 S3에 업로드 하는 유틸웹을 만들어야 했는데 그때 한글 자료들이 없어서 고생했던 생각이 나서 비슷한 고민 하시는분들 계시면 참고 하시라고 대략정리를 해봅니다.

전문적으로 글쓰는 사람이 아니고 엄청난 개발자도 아니여서 살짝 틀린 내용도 있을겁니다. 딱 개발에 필요한 내용만 리서치 하는 스타일이라 개념부분에서는 틀릴 수도 있으니 대충 간지러운 부분만 참고 하시기 바랍니다


언어 : java

프레임웍 : 스프링 3.x

AWS SDK : 1.6.7



AWS 서비스는 개발할때 가끔 사용은 해봤지만 S3에 업로드 하는건 처음이라 다른 툴들에서 디렉토리처럼 보이는 형식때문에 처음에 정말 고생했습니다 -_- 책을 찾아보니 당시에는 PHP책 한권 있더군요.


그리고 크롬이나 파이어 폭스에 이런 확장 프로그램들 많습니다. 저도 처음에 이게 있는줄 알았는데 굳이 만들어야 된다고 해서 그 프로그램들 보면서 만들었네요.


기본 사항


1. 디렉토리


S3에는 디렉토리라는 개념이 없습니다. 디렉토리는 없고 키라는 개념으로 보셔야 됩니다.

다른 툴에서 디렉토리처럼 보이는 이유는 키의 구분자를 잘라내서 디렉토리 형식으로 보여 줄뿐이지 이걸 디렉토리라고 접근하는순간 엄청난 혼돈에 빠져들게 됩니다.


S3 형식)    apple/bear/people  => 이런 문자열 키형식으로 되어서 업로드된 파일에 대응하고 있습니다.

S3 툴)    

apple

 ㄴ bear

      ㄴ people


위와 같은 형식으로 보여서 정말 디렉토리인줄 알고 생쑈를 했습니다. s3뿐만 아니라 클라우드 스토리지들이 디렉토리 개념이 없는것으로 파악했던 기억이 나네요.


2. 인증키 & 버킷


s3에 접근 하기 위해서는 

1) Access key 

2) Secret key 


두가지의 키가 필요합니다.(발급 받으시면 됩니다)


Bucket 이라는게 필요합니다. 이름 그대로 데이타를 담고자 하는 그릇의 명칭이라고 생각 하시면 됩니다.

요건 생성 하시면 됩니다. 모든 데이타는 이 버킷안에 1에서 설명한 키의 형식으로 저장됩니다.


3. 프록시를 사용하는 네트웍일경우 프록시 설정이 가능합니다.


처음에 개발을 완료했는데 제대로 동작하지 않아서 삽질했으나 매뉴얼을 뒤져보니 프록시를 탈수 있도록 개발이 가능합니다.



4. 필요한 파일


AWS SDK

Spring

Eclipse


요런건 받아두시고

스프링 키본 설정은 검색으로 해결 하시면 되겠습니다. 


Access key , Secret key는 아래와 같은 이름의 프로퍼티 파일로 저장합니다.


AwsCredentials.properties 


지금 기억이 나질 않는데 위의 이름이 아니면 찾지를 못한걸로 기억합니다. 다른 방법도 있겠지만 테스트 용이니 그냥 이름은 위의 이름으로 하시고 이와 관련해서 더 궁금 하시면 요것도 검색을 하시면 되겠습니다.



1부 끝


2부에서는 간단하게 코드 써가면서 적겠습니다.


잘하시는 분들은 별 필요없는 글이구요. 정말 당장 개념도 모르겠는데 개발은 해야 겠고 하는 분들이 눈팅이나 하시라고 적는거라 수준도 낮습니다. 뭐라 하지 마세요