13 Star 117 Fork 49

spring-boot-starter / oss-spring-boot-starter

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 3.16 KB
一键复制 编辑 原始数据 按行查看 历史

开始使用

引入以下依赖

<dependencies>
	<groupId>io.github.artislong</groupId>
    <artifactId>oss-spring-boot-starter</artifactId>
    <version>{latest.version}</version>
</dependencies>
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.13.2</version>
</dependency>

通过oss.ali.enable=true开启阿里云OSS对象存储自动配置

配置详解

**注:**所有具有默认值的属性,配置都可缺省,且不支持复用。

  • 单个阿里云OSS对象存储配置
oss:
  ali:
    enable: true
    access-key-id: AccessKeyId
    access-key-secret: AccessKeySecret
    endpoint: Endpoint
    bucket-name: Bucket
    base-path: /  # 存储根路径,默认路径为 /
    slice-config:
      task-num: 8  # 并发线程数,默认等于CPU的核数
      part-size: 104857600  # 分片大小,单位KB,默认5MB

通过如上配置即可开启阿里云OSS对象存储,可通过以下方式注入标准的OSS客户端。

@Autowired
@Qualifier(AliOssConfiguration.DEFAULT_BEAN_NAME)
private StandardOssClient ossClient;
  • 多个阿里云OSS对象存储配置
oss:
  ali:
    enable: true
    oss-config:
      aliOssClient1:
        access-key-id: AccessKeyId1
        access-key-secret: AccessKeySecret1
        endpoint: Endpoint1
        bucket-name: Bucket1
        base-path: /  # 存储根路径,默认路径为 /
        slice-config:
          task-num: 8  # 并发线程数,默认等于CPU的核数
          part-size: 104857600  # 分片大小,单位KB,默认5MB
      aliOssClient2:
        access-key-id: AccessKeyId2
        access-key-secret: AccessKeySecret2
        endpoint: Endpoint2
        bucket-name: Bucket2
        base-path: /  # 存储根路径,默认路径为 /
        slice-config:
          task-num: 8  # 并发线程数,默认等于CPU的核数
          part-size: 104857600  # 分片大小,单位KB,默认5MB

当配置多个阿里云OSS对象存储时,使用如下方式注入

@Autowired
@Qualifier("aliOssClient1")
private StandardOssClient aliOssClient1;
@Autowired
@Qualifier("aliOssClient2")
private StandardOssClient aliOssClient2;
  • 客户端自定义配置

可通过oss.ali.client-config.XXX来配置,XXX具体值可通过io.github.artislong.core.ali.model.AliOssClientConfig类查看。

image-20220425152135392

示例如下:

oss:
  ali:
    enable: true
    access-key-id: AccessKeyId
    access-key-secret: AccessKeySecret
    endpoint: Endpoint
    bucket-name: Bucket
    client-config:
      socket-timeout: 50000
      connection-timeout: 50000
      # ...... 
  • 配置复用

当使用同一个阿里云对象存储多个不同Bucket时,可复用endpoint、accessKeyId、accessKeySecret、clientConfig,只需要配置Bucket相关参数即可,示例如下:

oss:
  ali:
    enable: true
    access-key-id: AccessKeyId
    access-key-secret: AccessKeySecret
    endpoint: Endpoint
    oss-config:
      aliOssClient1:
        bucket-name: Bucket1
      aliOssClient2:
        bucket-name: Bucket2
Java
1
https://gitee.com/spring-boot-starter/oss-spring-boot-starter.git
git@gitee.com:spring-boot-starter/oss-spring-boot-starter.git
spring-boot-starter
oss-spring-boot-starter
oss-spring-boot-starter
master

搜索帮助