用于从 ACM 获取配置内容。
描述
使用以下接口从 ACM 获取配置内容。
public static String getConfig(String dataId, String group, long timeoutMs) throws ConfigException
请求参数
参数 | 参数类型 | 描述 |
---|---|---|
dataId | String | 配置 ID,采用类似 package.class (如 com.taobao.tc.refund.log.level )的命名规则保证全局唯一性。建议根据配置的业务含义来定义 class 部分。全部字符均为小写。只允许英文字符和 4 种特殊字符(“.”、“:”、“-”、“_”),不超过 256 字节。
|
group | String | 配置分组,建议填写产品名:模块名 (如 ACM:Test )来保证唯一性。只允许英文字符和 4 种特殊字符(“.”、“:”、“-”、“_”),不超过 128 字节。
|
timeout | String | 读取配置超时时间,单位为 ms,推荐值为 3000。 |
返回值
参数类型 | 描述 |
---|---|
String | 配置值 |
请求示例
说明 请将代码中的 $regionId、$endpoint、$namespace、$accessKey、$secretKey 分别替换为 ACM 控制台上命名空间详情对话框内的地域 ID、End Point、命名空间 ID、AccessKey、SecretKey。
try {
// 初始化配置服务
ConfigService.init("$endpoint", "$namespace", "$accessKey", "$secretKey");
// 主动获取配置
String content = ConfigService.getConfig("$dataId", "$group", 3000);
System.out.println(content);
} catch (ConfigException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
异常说明
读取配置超时或网络异常,抛出 ConfigException
异常。
限流机制
ACM 对访问频率采取限制,主要规则如下:
- 每个 IP 长连接数最多为 30 个。
- 每个 IP 每秒修改同一个配置不能超过 5 次。
- 每个 IP 每秒获取同一个配置不能超过 10 次。