[11. S3로 이미지 업로드 및 API 활용 - 1]
S3로 올리기를 하기 위해서 jira에 이슈를 생성한다. 개발 중 단계로 넘어가서 진행을 한다. review_s3_upload파일을 압축을 풀어서 새로운 프로젝트를 open한다. Synchronize workspace에서 확인을 해본다. AWS 관련 서비스와 security에서 matcher가 추가되어 있다.
local에서 Tomcat을 실행시켜서 서버를 구동한다. 7000 port가 설정된 홈페이지가 들어가지는지 확인한다. submit의 경우, multipart/form-data 형식으로 enctype 설정을하고, method는 form이다. <input type=file name="mediaFile">을 설정해 첨부파일을 보낼 수 있도록 한다.
script에서 다시 FormData 객체를 만든다. 또한 활성화가 되면, prop으로 "disabled"를 설정하여 또다시 클릭하지 못하게 막는다. $.ajax({})로 비동기 통신한다. enctype : 'multipart/form-data', data : data, processData : false, contentType: false, cacahe: flase를 해주는 것이 필요하다. 응답이 성공적으로 오면 success는 alert()로 성공을 알리면 된다.
s3 설정이 제대로 되어있지 않으면 fail이 뜬다.
[12.S3로 이미지 업로드 및 API 활용-2]
S3에서 bucket에 들어가서 파일이 있나 확인한다. 파일이 제대로 들어갔음을 확인하면, 해당 url을 눌러서 제대로 사진이 있는지 확인한다. 에러 로그를 찍어가면서 확인하도록 한다. POM.xml에는 commons-fileupload의 라이브러리가 <dependency>로 추가되었는지 확인한다. security 설정에서도 http.authorizeRequests().antMatchers("/fileupload")를 확인한다. 해당 경우에는 모든 요청을 허용하도록 permitAll()을 추가로 붙인다. 자원을 가진 경로는 모두 허용할 수 있도록 staticResources라는 String[] 배열을 만들어도 된다. 경로 대신에 antMatchers(staticResources)라고 넣어주어도 된다.
fileUpload를 컨트롤러에 보내면, @RequestParam("mediaFile") MultipartFile file로 해당 첨부파일을 받는다. AWS의 경우 받은 SECRET_KEY를 잘 보관해야 한다. IAM에서 발급받는 토큰을 사용하여야만 AWS와 연결이 가능하기 때문이다.
IAM에서 KEY를 설정하기 위해서 새로운 정책을 연결한다 AmazonS3FullAccess를 선택하고 검토에서 바로 생성을 누르면 새로운 그룹이 생성된다. 또한 사용자를 추가해야 한다. 사용자를 추가하면서 마지막에 어떤 그룹에 사용자를 추가할 것인지 확인할 수 있다. 사용자 만들기를 하면 비밀 엑세스 키를 볼 수 있다. 해당 엑세스키를 통해 aws에 접근할 수 있으므로 외부에 노출되지 않게 보관하는 것이 중요하다.
필수 링크 확인
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'회고 > aws&docker fastcampus' 카테고리의 다른 글
AWS/Docker 클라우드 패스트캠퍼스 챌린지 22일차 (0) | 2021.09.27 |
---|---|
AWS/Docker 클라우드 패스트캠퍼스 챌린지 21일차 (0) | 2021.09.26 |
AWS/Docker 클라우드 패스트캠퍼스 챌린지 19일차 (0) | 2021.09.24 |
AWS/Docker 클라우드 패스트캠퍼스 챌린지 18일차 (0) | 2021.09.23 |
AWS/Docker 클라우드 패스트캠퍼스 챌린지 17일차 (0) | 2021.09.22 |