Skip to content

Naver Cloud Platform: Object Storage 도입

yuncheol-AHN edited this page Nov 4, 2024 · 1 revision

Naver Cloud Platform: Object Storage 도입

문제 상황

  • 이미지, 영상, 텍스트, 음성.. 등과 같이 binary data를 server에 어떻게 보관할지에 관한 문제
  • 다수의 iOS 개발자들이 사용하는 Firebase를 사용하려 했으나 한정된 저장공간으로 인해 새로운 대안을 찾았고
  • 네이버 부스트캠프에서 제공해주는 NAVER Cloud Platform(NCP)를 사용했다.

문제 해결

NCP: Object Storage 개요

Naver Cloud Platform가 제공하는 여러 저장소 관련 기능들 중 Restful API를 사용하며 Firebase와 동일하게 사용할 수 있는 기능이 무엇이 있을지 찾아봤다.

그러던 중 Object Storage라는 Storage를 발견했고 이를 사용하면 우리가 원하는 저장소로써 사용할 수 있을 것 같다는 생각이 들었다.

Object Storage는 Bucket이라는 (SQL에서의 Table 느낌?) 카테고리와 Bucket 내부에 Object들을 넣어 관리하는 방식이었다.

NCP 콘솔창

Object 내부에는 사진, 동영상, 음성파일 등 여러 데이터 타입이 들어갈 수 있다. (CoreData랑 비슷한 객체 중심 DB 인듯)

Object Storage를 실제로 Restful API를 사용하여 활용할 수 있을지 확인해보기 위해 postman으로 직접 실험을 해보았다.

먼저 NCP에서 받은 AccessKey와 SecretKey를 AWS Signature의 value 값으로 넣어주었다.

마이페이지 > 계정 관리 > 인증키 관리

[신규 API 인증키 생성] 버튼을 클릭하면 AccessKeySecretKey가 생성된다.

공식 문서를 보면 헤더의 Authorization을 AWS Signature Version4로 넣어주는 것이 필수라고 나와있었다. (이것때매 좀 길게 삽질함)

Object Storage 실습해보기

GET 요청 헤더

이후 Header를 따로 설정해주지 않고 Body에 우리가 넣으려던 이미지 데이터를 binary 데이터로 넣어주었다.

ex) 위 사진과 같이 PUT 요청 바디에 내가 보낼 사진, 영상, 텍스트, 음성 .. 들을 담아서 보낸다.

memorial이라는 Bucket 내부의 life-cycle이라는 Object를 불러온 결과이다.

대성공!

참조 링크

https://guide.ncloud-docs.com/docs/ko/storage-storage-6-1

https://www.ncloud.com/product/storage/objectStorage#overview

https://blog.naver.com/n_cloudplatform/221351374792

Clone this wiki locally