Spring Cloud ACM SDK 的使用步骤

  1. 增加 Maven 依赖。
    说明 spring-cloud-starter-alibaba-nacos-discoveryspring-cloud-starter-acm不能一起使用,如果需要配置服务可以使用 spring-cloud-starter-alibaba-nacos-config 包。
    <dependency>
         <groupId>com.alibaba.cloud</groupId>
         <artifactId>spring-cloud-starter-acm</artifactId>
         <version>1.0.9</version>
     </dependency>
    					
  2. 配置应用名和应用组。

    在 Spring Boot 应用中编辑 application.properties 文件,配置 spring.application.groupspring.application.name

    spring.application.group=com.alibaba.cloud.acm
    spring.application.name=sample-app
  3. 配置 ACM 环境和认证信息。

    在 Spring Boot 应用中编辑 application.properties 文件,配置 alibaba.acm.endpointalibaba.acm.namespacealibaba.acm.accessKeyalibaba.acm.secretKey

    spring.application.group=com.alibaba.cloud.acm
    spring.application.name=sample-app
    alibaba.acm.endpoint=xxx
    
    # 命名空间 ID
    alibaba.acm.namespace=xxx
    
    # 若通过 ECS 实例 RAM 角色访问 ACM,需添加 alibaba.acm.ramRoleName=xxx
    
    # 注意 accessKey、secretKey 的大小写
    alibaba.acm.accessKey=xxx
    alibaba.acm.secretKey=xxx
    
    # 如果是加密配置,则添加下面两行进行自动解密。regionId 可以通过命名空间详情中的区域 ID 获取
    # alibaba.acm.openKMSFilter=true
    # alibaba.acm.regionId=xxx
    
    # 如果 Group 不是 DEFAULT_GROUP,则需设置 alibaba.acm.group
    # alibaba.acm.group 指配置的分组,注意与 spring.application.group 的区分
    # alibaba.acm.group=xxx
    
    # 如果 file-extension 不是 properties,则需设置 alibaba.acm.file-extension。
    # 可选值包括 properties、yaml、yml,默认为 properties (版本 1.0.8 以上支持更改此配置)
    #alibaba.acm.file-extension=properties
    					
  4. 在 ACM 控制台添加应用配置。

    前往 ACM 控制台,在相应的空间(namespace)下新建配置。

    • Data ID 按照以下约定格式编写:

      ${spring.application.group}:${spring.application.name}.{alibaba.acm.file-extension}

      例如:com.alibaba.cloud.acm:sample-app.properties

    • 配置格式选择 Properties,配置内容即为想要注入到应用中的具体 key-value:

      user.id = 001
      user.name = juven2
      user.age = 88
  5. 如果需要 ACM 加载多配置,则需要在 Spring Boot 应用中编辑 application.properties 文件,加上配置 spring.profiles.active=dev,online

    实际项目中,也可以在应用运行参数中加上 -Dspring.profiles.active=dev,online

    加上该配置后,ACM 会加载三个配置:

    ${spring.application.group}:${spring.application.name}.{alibaba.acm.file-extension},
    ${spring.application.group}:${spring.application.name}-dev.{alibaba.acm.file-extension},
    ${spring.application.group}:${spring.application.name}-online.{alibaba.acm.file-extension}

备注

  • spring-cloud-starter-acm 1.0.7 及更高版本已支持 Spring Boot 2.x
  • spring-cloud-starter-acm 1.0.8 及更高版本已支持 YAML格式。
  • 推荐使用 2.0.1.RELEASE 及更高版本的 Spring Boot 2.x2.0.0.RELEASE 版本有读取旧数据的 Bug
  • 如需下载完整示例代码,请单击:spring-cloud-acm-sample.zip

相关文档