springboot 앱에서 minio bucket에 multipart file 업로드와 다운로드를 해보자
먼저 minio연결을 위한 디펜던시를 추가한다
<!-- https://mvnrepository.com/artifact/io.minio/minio -->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.13</version>
</dependency>
minio에 버킷과 access key를 생성해보자.
먼저 버킷 생성이다.
용량 설정(1TB) 하고 retention policy는 별도 설정하지 않았다.

그리고 access keys 메뉴를 생성된 access key, secret key정보를 메모하여 application.yml에 설정한다.

applocation.yml 설정은 다음과 같다.
minio:
url: http://localhost:31627
bucket:
name: multipart
access:
key: npr5oE1fNoLDtSVn4IoO
secret: 2RRHcF7RpbtD42vij4Ve7Tq5kv61r5k5Sq5WNpEG
파일 업로드용 컨트롤러를 개발하기에 앞서,
configuration을 간단히 해보자.
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import io.minio.MinioClient;
@Configuration
public class ObjectClient {
@Value("${minio.bucket.name}")
private String bucket;
@Value("${minio.url}")
private String url;
@Value("${minio.access.key}")
private String key;
@Value("${minio.access.secret}")
private String secret;
@Bean
MinioClient minioClient() {
MinioClient minioClient;
minioClient = MinioClient.builder().endpoint(url).credentials(key, secret).build();
return minioClient;
}
}
업로드와 다운로드까지 한방에 끝내려고 했는데, 업로드시 에러가 발생한다.
Caused by: java.io.IOException: Cannot delete C:\Users\xxx\AppData\Local\Temp\tomcat.8080.11209828706700145222\work\Tomcat-1\localhost\ROOT\upload_1ffd3c17_f0f0_4ca5_a8f9_e75ac51022ff_00000007.tmp
윈도우 PC에 도커데스크탑 쿠베라서 발생하는 경로 권한 문제인것 같다.
내일 알아보자.
https://fullmooney.tistory.com/76
minio springboot file up/download
mac에서 다시 환경 구성하고 springboot 통해서 file up/download를 해보자. 참고한 블로그이다https://terianp.tistory.com/201 Spring Boot Web Chatting : 스프링 부트로 실시간 화상 채팅 만들기(13) minIO 배포 & 파일
fullmooney.tistory.com
'CloudNative > Runtime' 카테고리의 다른 글
| minio springboot file up/download (1) | 2024.11.19 |
|---|---|
| minio (0) | 2024.11.16 |