package com.pavis.app.saasbacken.config; import io.minio.MinioClient; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Component; /** * @program: push-saas * @description: * @author: Guanzi * @created: 2021/11/02 13:47 */ @Data @Component @ConfigurationProperties(prefix = "minio") @Slf4j @Configuration public class MinioConfig { @ApiModelProperty("endPoint是一个URL,域名,IPv4或者IPv6地址") @Value("${spring.minio.endpoint}") private String endpoint; @ApiModelProperty("TCP/IP端口号") @Value("${spring.minio.port}") private int port; @ApiModelProperty("accessKey类似于用户ID,用于唯一标识你的账户") @Value("${spring.minio.accessKey}") private String accessKey; @ApiModelProperty("secretKey是你账户的密码") @Value("${spring.minio.secretKey}") private String secretKey; @ApiModelProperty("如果是true,则用的是https而不是http,默认值是true") @Value("${spring.minio.secure}") private Boolean secure; @ApiModelProperty("默认存储桶") @Value("${spring.minio.bucketName}") private String bucketName; @ApiModelProperty("配置目录") @Value("${spring.minio.configDir}") private String configDir; @ApiModelProperty("文件大小") @Value("${spring.minio.maxFileSize}") private Integer maxFileSize; @ApiModelProperty("签名有效时间") @Value("${spring.minio.expires}") private Integer expires; // @Bean // public MinioClient getMinioClient() throws InvalidEndpointException, InvalidPortException { // log.info("endpoint:{},port:{},accessKey:{},secretKey:{},secure:{}",endpoint, port, accessKey, secretKey,secure); // MinioClient minioClient = new MinioClient(endpoint, port, accessKey, secretKey,secure); // return minioClient; // } /** * 注入minio 客户端 * @return */ @Bean public MinioClient minioClient(){ log.info("endpoint:{},port:{},accessKey:{},secretKey:{},secure:{}",endpoint, port, accessKey, secretKey,secure); return MinioClient.builder() .endpoint(endpoint) .credentials(accessKey, secretKey) .build(); } }