用于通过程序自动发布 ACM 配置,以自动化手段降低运维成本。

描述

使用以下接口将配置发布到 ACM。

注意 创建和更新配置时均使用此接口,若配置不存在则创建此配置,若配置已存在则更新此配置。
public static boolean publishConfig(String dataId, String group, String content) throws ConfigException

请求参数

参数 参数类型 描述
dataId String 配置 ID,采用类似 package.class(如 com.taobao.tc.refund.log.level)的命名规则保证全局唯一性。建议根据配置的业务含义来定义 class 部分。全部字符均为小写。只允许英文字符和 4 种特殊字符(“.”、“:”、“-”、“_”),不超过 256 字节。
group String 配置分组,建议填写产品名:模块名(如 ACM:Test)来保证唯一性。只允许英文字符和 4 种特殊字符(“.”、“:”、“-”、“_”),不超过 128 字节。
content String 配置内容,不超过 100K 字节。

返回值

参数类型 描述
Boolean 是否发布成功

请求示例

说明 请将代码中的 $regionId$endpoint$namespace$accessKey$secretKey 分别替换为 ACM 控制台上命名空间详情对话框内的地域 IDEnd Point命名空间 IDAccessKeySecretKey
try {
    // 初始化配置服务
    ConfigService.init("$endpoint", "$namespace", "$accessKey", "$secretKey");
    // 主动获取配置
    boolean isPublishOk = ConfigService.publishConfig("$dataId", "$group", "$content");
    System.out.println(isPublishOk);
} catch (ConfigException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

异常说明

读取配置超时或网络异常,抛出 ConfigException 异常。

限流机制

ACM 对访问频率采取限制,主要规则如下:

  • 每个 IP 长连接数最多为 30 个。
  • 每个 IP 每秒修改同一个配置不能超过 5 次。
  • 每个 IP 每秒获取同一个配置不能超过 10 次。

更多信息