用于通过程序自动发布 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 控制台上命名空间详情对话框内的地域 ID、End Point、命名空间 ID、AccessKey、SecretKey。
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 次。