4.1 시작하기

4.1.1 의존성 추가

studio-platform-starter-objectstorage 를 의존성에 추가하면 쉽게 사용할 수 있다.

dependencies {
    implementation("studio.one.starter:studio-platform-starter")
    implementation("studio.one.starter:studio-platform-starter-user")
    implementation("studio.one.starter:studio-platform-starter-security")
    **implementation("studio.one.starter:studio-platform-starter-objectstorage")
    implementation("studio.one.starter:studio-platform-starter-objectstorage-aws"**)
}

aws 와 oci 을 지원하고 있으며 oci 를 사용하는 경우는 -oci 의존을 추가하면 된다.

dependencies {
    implementation("studio.one.starter:studio-platform-starter")
    implementation("studio.one.starter:studio-platform-starter-user")
    implementation("studio.one.starter:studio-platform-starter-security")
    **implementation("studio.one.starter:studio-platform-starter-objectstorage")
    implementation("studio.one.starter:studio-platform-starter-objectstorage-oci"**)
}

4.1.2 활성화 하기

studio.cloud.storage.* 속성으로 활성화와 동작을 제어한다(기본값은 주석 참고).

4.1.2.1 기능 활성화

studio:
	cloud:
		storage:
			provicers: 
				[**provider_name] : naver_s3**
					enabled: true

starter 의존성이 주가되면 자동으로 활성화되며 provider 별로 사용 여부를 제어 할 수 있다. 주의할 점은 type 에 따라 요구되는 설정 값을 세팅해야 정상 동작하게 된다.

4.1.2.2 프로바이터

studio.cloud.storage.providers.<id>.* 설정을 통하여 다수의 프로파이더를 설정할 수 있다. 다음은 아마존 즉 s3 타입의 프로파이더 설정 예시 이다.

studio: 
  cloud:
    storage: 
      providers:
        aws_001:
          type: s3
          enabled: true
          #region: asia-pacific
          #endpoint: <https://s3.asia-pacific.amazonaws.com>
          credentials:
            access-key: ${AWS_ACCESS_KEY}
            secret-key: ${AWS_SECRET_KEY}
          s3:
            path-style: true
            presigner-enabled: true 

네이버의 경우 아마존 S3 와 호환을 지원하고 있아 아래와 같이 설정할 수 있다.

studio: 
  cloud:
    storage: 
      providers:    
		    naver_001:
		      type: s3
		      enabled: true
		      region: kr-standard
		      endpoint: <https://kr.object.ncloudstorage.com>
		      credentials:
		        access-key: ${NAVER_ACCESS_KEY}
		        secret-key: ${NAVER_SECRET_KEY}
		      s3:
		        path-style: true

region , endpoint 을 다르게 설정.

4.1.2.3 REST API

studio.cloud.storage.web.enabled=true 설정으로 REST API 사용 여부를 선택할 수 있다. 기본값을 true 이다. REST API 는 기본 접근 엔트포인트 경로를 studio.cloud.storage.web.endpoint 값을 사용하여 커스커마이징 할 수 있다.

studio:
	cloud:
		storage:
			web:
				enabled: true
				endpoint: /api/mgmt/objectstorage   # 기본값