GaussDB(DWS) 运维接口集成简介

举报
帝国觉醒灬 发表于 2020/11/19 21:52:10 2020/11/19
【摘要】 【摘要】某些场景下,客户可能会需要将GaussDB(DWS)集群的运维功能集成到自己的平台上方便进行统一运维管理,此时客户可以通过GaussDB(DWS)提供的标准REST API进行和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章节“接口参考”。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。