GaussDB(DWS) 运维接口集成简介
1. 使用场景
一般情况下,客户可以在GaussDB(DWS)的管理平台对集群进行运维管理,如创建、删除、扩容、重启集群等操作,同时这些运维接口已标准REST协议对外开放,客户如果有自己的统一运维管理平台,如有需要可以将这些运维操作对接到自己的统一管理平台。
2. 对接流程
首先客户需要使用登录GaussDB(DWS)管理平台的用户名密码从IAM服务获取token,然后在请求中携带获取的token调用GaussDB(DWS)提供的REST API接口,如下图
3. 示例
接下来,我们以Spring框架中的RestTemplate作为REST客户端,以HCS 8.0.2环境为例进行接口调用的详细步骤演示。
1). 从HCS的lld配置中获取IAM服务的endpoint,如:iam-cache-proxy.hcs.com:26336,根据《华为云Stack8.0.2数据仓库服务用户指南》5.6.6章节中的方式获取dws服务的endpoint,如:dws.cn-global-1.hcs.com;
2). 构造获取token的请求体并发送请求获取token
String body = String.format("{\"auth\":{\"identity\":{\"methods\":[\"password\"],\"password\":{\"user\":{\"name\":\"%s\",\"password\":\"%s\",\"domain\":{\"name\":\"%s\"}}}},\"scope\":{\"project\":{\"name\":\"%s\"}}}}", appProperties.getMo_user_name(), appProperties.getMo_user_pass(), appProperties.getMo_user_domain_name(), appProperties.getMo_user_project_name());
ResponseEntity<String> responseEntity = restTemplate.exchange("https://iam-cache-proxy.eihcs.com:26335/v3/auth/tokens", HttpMethod.POST, httpEntity, String.class);
String token=responseEntity.getHeaders().getFirst("X-Subject-Token");
3). 通过GaussDB(DWS)的REST运维接口查询集群列表
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("X-Auth-Token", token);
HttpEntity<String> httpEntity = new HttpEntity<>(headers);
ResponseEntity<String> responseEntity = restTemplate.exchange("https://dws.cn-global-1.eihcs.com/v1.0/${project_id}/clusters", HttpMethod.GET, httpEntity, String.class);
String clusters=responseEntity.getBody();
GaussDB(DWS)当前已支持的开放API以及API的详细说明请参考《华为云Stack8.0.2数据仓库服务用户指南》第5章节“接口参考”。
- 点赞
- 收藏
- 关注作者
评论(0)