用於從 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 次。