数据仓库服务
API 参考
文档版本 01
发布日期 2021-12-13
版权所有 © 华为技术有限公司 2021。 保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 使用前必读... 1
1.1 概述... 1
1.2 调用说明...1
1.3 终端节点...1
1.4 约束与限制... 1
1.5 基本概念...1
2 API 概述... 3
3 如何调用 API...4
3.1 构造请求...4
3.2 认证鉴权...7
3.3 返回结果...8
4 快速入门...10
5 API 说明... 16
5.1 集群管理接口...16
5.1.1 创建集群... 16
5.1.2 查询集群列表... 19
5.1.3 查询集群详情... 25
5.1.4 查询节点类型... 35
5.1.5 删除集群... 37
5.1.6 重启集群... 38
5.1.7 扩容集群... 40
5.1.8 重置密码... 42
5.2 快照管理接口...44
5.2.1 创建快照... 44
5.2.2 查询快照列表... 46
5.2.3 查询快照详情... 48
5.2.4 删除手动快照... 51
5.2.5 恢复集群... 52
6 应用示例...56
6.1 使用 Postman 调用创建快照接口...56
7 权限策略和授权项... 59
API 参考 目 录
8 附录... 62
8.1 状态码...62
8.2 错误码...64
8.3 创建 VPC... 73
8.4 获取项目 ID...73
8.5 获取帐号 ID...74
8.6 获取集群 ID...74
1 使用前必读
1.1 概述
欢迎使用数据仓库服务GaussDB(DWS)。数据仓库服务是完全托管的企业级云上数据 仓库服务,具备免运维、在线扩展、高效的多源数据加载能力,兼容PostgreSQL生 态。助力企业经济高效地对海量数据进行在线分析,实现数据快速变现。
您可以使用本文档提供的API对数据仓库服务的集群、快照进行相关操作,如创建、查 询、删除等。支持的全部操作请参见API概述。
在调用数据仓库服务API之前,请确保已经充分了解实数据仓库服务相关概念,详细信 息请参见产品介绍。
1.2 调用说明
数据仓库服务提供了REST(Representational State Transfer)风格API,支持您通过 HTTPS请求调用,调用方法请参见如何调用API。
1.3 终端节点
终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同,您 可以从地区和终端节点中查询所有服务的终端节点。
1.4 约束与限制
● 您能创建的数据仓库服务资源的数量与配额有关系,如果您想查看服务配额、扩 大配额,具体请参见“配额说明”。
● 更详细的限制请参见具体API的说明。
1.5 基本概念
● 帐号
用户注册时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权限,可以 重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建
API 参考 1 使用前必读
议您不要直接使用帐号进行日常管理工作,而是创建用户并使用他们进行日常管 理工作。
● 用户
由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问 密钥)。
在我的凭证下,您可以查看帐号id和用户id。通常在调用API的鉴权过程中,您需 要用到帐号、用户和密码等信息。
● 区域
指云资源所在的物理位置,同一区域内可用区间内网互通,不同区域间内网不互 通。通过在不同地区创建云资源,可以将应用程序设计的更接近特定客户的要 求,或满足不同地区的法律或其他要求。
● 可用区
一个可用区是一个或多个物理数据中心的集合,有独立的电力和网络,AZ内逻辑 上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过 高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。
● 项目
区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计 算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您 帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默 认的项目中创建子项目,并在子项目中申请资源,然后以子项目为单位进行授 权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。
图1-1 项目隔离模型
同样在我的凭证下,您可以查看项目ID。
● 企业项目
企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔 离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。
关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户 指南》。
2 API 概述
数据仓库服务所提供的接口为自研接口。通过配合使用数据仓库服务自研接口,您可 以使用数据仓库服务的如下功能。
类型 API 说明
集群管理 接口
创建集群 创建集群。
查询集群列表 查询并显示集群列表。
查询集群详情 查询集群详情。
查询节点类型 查询GaussDB(DWS) 服务支持的所有节点类
型。
删除集群 删除集群。
重启集群 重启集群。
扩容集群 扩容集群大小。
重置密码 重置集群管理员密码。
快照管理 接口
创建快照 为指定集群创建快照。
查询快照列表 查询快照列表。
查询快照详情 使用快照id查询快照详情。
删除手动快照 删除一个指定快照。
恢复集群 使用快照恢复集群。
API 参考 2 API 概述
3 如何调用 API
3.1 构造请求
本节介绍REST API请求的组成,并以调用IAM服务的获取用户Token说明如何调用 API,该API获取用户的Token,Token可以用于调用其他API时鉴权。
您还可以通过这个视频教程了解如何构造请求调用API:https://
bbs.huaweicloud.com/videos/102987 。
请求 URI
请求URI由如下部分组成:
{URI-scheme}://{Endpoint}/{resource-path}?{query-string}
尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传 递它,所以在此单独强调。
表3-1 URI 中的参数说明
参数 描述
URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。
Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域 的Endpoint不同,您可以从地区和终端节点获取。
例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn- north-4.myhuaweicloud.com”。
resource-path 资源路径,也即API访问路径。从具体API的URI模块获取,例 如“获取用户Token”API的resource-path为“/v3/auth/
tokens”。
query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参 数前面需要带一个“?”,形式为“参数名=参数取值”,例如
“?limit=10”,表示查询不超过10条数据。
例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域 的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部 分找到resource-path(/v3/auth/tokens),拼接起来如下所示。
https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
图3-1 URI 示意图
说明
为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。
这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分 省略。
请求方法
HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。
表3-2 HTTP 方法
方法 说明
GET 请求服务器返回指定资源。
PUT 请求服务器更新指定资源。
POST 请求服务器新增资源或执行特殊操作。
DELETE 请求服务器删除指定资源,如删除对象等。
HEAD 请求服务器资源头部。
PATCH 请求服务器更新资源的部分内容。
当资源不存在的时候,PATCH可能会去创建一个新的资 源。
在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为:
POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
请求消息头
附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请 求头“Content-type”,请求鉴权信息等。
详细的公共请求消息头字段请参见表3-3。
API 参考 3 如何调用 API
表3-3 公共请求消息头
名称 描述 是否必选 示例
x-sdk-date 请求的发生时间,
格式为(YYYYMMDD'T'HH MMSS'Z')。
取值为当前系统的 GMT时间。
否 20150907T101459Z
Host 请求的服务器信 息,从服务API的 URL中获取。值为 hostname[:port]。
端口缺省时使用默 认的端口,https的 默认端口为443。
否 code.test.com or
code.test.com:443
Content-Type 发送的实体的MIME 类型。推荐用户默 认使用application/
json,如果API是对 象、镜像上传等接 口,媒体类型可按 照流类型的不同进 行确定。
是 application/json
Content-
Length 请求body长度,单
位为Byte。 否 3495
X-Project-id project id,项目 ID。请参考获取项 目ID章节获取项目 ID。
否 e9993fc787d94b6c886cb aa340f9c0f4
X-Auth-Token 用户Token。
用户Token也就是调 用获取用户Token接 口的响应值,该接 口是唯一不需要认 证的接口。
请求响应成功后在 响应消息头中包含 的“X-Subject- Token”的值即为 Token值。
否
使用Token认 证时该字段必 选。
注:以下仅为Token示例片 段
MIIPAgYJKoZIhvcNAQcCo ...ggg1BBIINPXsidG9rZ
X-Language 请求语言。 否 zh_cn
对于获取用户Token接口,由于不需要认证,所以只添加“Content-type”即可,添 加消息头后的请求如下所示。
POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-type: application/json
请求消息体
请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-type 对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符 必须为UTF-8编码。
每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消 息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根 据具体接口而定。
对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说 明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中
user_name
为用户名,domainname
为用户所属的帐号名称,********
为用户登录密 码,xxxxxxxxxxxxxxxxxx
为project的名称,例如cn-north-4,可以从地区和终端节点 中获取。请联系管理员获取。说明
scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可 以设置Token的作用域为某个帐号下所有资源或帐号的某个project下的资源,详细定义请参见获 取用户Token。
POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-type: application/json
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "user_name", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": {
"id": "xxxxxxxxxxxxxxxxxx"
} } } }
到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编 写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x- subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认 证调用其他API。
3.2 认证鉴权
调用接口支持使用Token认证。
API 参考 3 如何调用 API
Token 认证
Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。
Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得 操作API的权限。
说明
Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。
Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的 Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择 project,如下所示。
{ "auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "user_name", "password": "********", "domain": {
"name": "domainname"
} } } }, "scope": { "project": { "id": "xxxxxxxx"
} } } }
获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,
其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token:
ABCDEFJ....”加到请求消息头即可,如下所示。
GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects Content-type: application/json
X-Auth-Token: ABCDEFJ....
您还可以通过这个视频教程了解如何使用Token认证:https://
bbs.huaweicloud.com/videos/101333 。
3.3 返回结果
状态码
请求发送以后,您会收到响应,包含状态码、响应消息头和消息体。
状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码 列表请参见状态码。
对于获取用户Token接口,如果调用后返回状态码为“201”,则表示请求成功。
响应消息头
对应请求消息头,响应同样也有消息头,如“Content-type”。
对于获取用户Token接口,返回如图3-2所示的消息头,其中“x-subject-token”就是 需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
图3-2 获取用户 Token 响应消息头
响应消息体
响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-type 对应,传递除响应消息头之外的内容。
对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。
{ "token": {
"expires_at": "2019-02-13T06:52:13.855000Z", "methods": [
"password"
],
"catalog": [ {
"endpoints": [ {
"region_id": "cn-north-4", ...
当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所 示。
{ "error_msg": "The format of message is error", "error_code": "AS.0001"
}
其中,error_code表示错误码,error_msg表示错误描述信息。
API 参考 3 如何调用 API
4 快速入门
本节通过调用一系列API,以集群管理为例,介绍使用GaussDB(DWS) API的基本流 程。集群管理的流程如下:
1. 调用认证鉴权获取用户的token,因为在后续的请求中需要将token放到请求消息 头中作为认证。
2. 调用查询节点类型接口获取支持的节点类型。
3. 调用创建集群接口创建集群。
4. 调用查询集群列表接口获取集群信息。
5. 调用查询集群详情接口查看集群详细内容。
6. 调用创建快照接口创建快照。
7. 调用查询快照列表接口查看快照是否创建成功。
8. 调用恢复集群接口使用快照恢复集群。
9. 当快照不再需要时,调用删除手动快照接口删除快照。
10. 当集群使用完成或不再需要时,调用删除集群接口删除集群。
前提条件
● 已创建VPC、子网和安全组,并获取VPC、子网和安全组的id,具体请参见创建 VPC。
● 已获取IAM的EndPoint和GaussDB(DWS)的Endpoint。
● 已获取项目ID,具体请参见获取项目ID。
集群管理
假设已获取前提条件中的信息为如下值(实际操作中您需要根据实际情况替换):
● IAM的Endpoint:下面示例中以iam_endpoint代替
● GaussDB(DWS) 的Endpoint:下面示例中以dws_endpoint代替
● VPC的id:219ab8a0-1272-4049-a383-8ad0b770fa11
● 子网的id:d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec
● 安全组的id:12e3c23a-8710-4b75-95e4-5c8d7f68ef3c
● 项目ID:9bc552e6-19af-4326-800d-281a92984636 则可以通过如下步骤管理集群。
步骤1 调用其他接口前,需要调用认证鉴权中的接口获取token,并设置成环境变量。
curl -H "Content-type:application/json" https://{iam_endpoint}/v3/auth/tokens -X POST -d '{
"auth": { "identity": { "methods": [ "password"
],
"password": { "user": {
"name": "testname", "domain": {
"name": "testname"
},
"password": "Passw0rd"
} } }, "scope": { "project": {
"name": "cn-north-4"
} } } }' -v -k
1. 获取响应Header中“X-Subject-Token”的值即为Token,示例如下。
X-Subject-Token:MIidkgYJKoZIhvcNAQcCoIidgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
2. 使用如下命令将token设置为环境变量。
export Token={X-Subject-Token}
X-Subject-Token即为上一步骤获取到的token,示例如下。
export Token=MIidkgYJKoZIhvcNAQcCoIidgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
步骤2 调用查询节点类型接口获取支持的节点类型。
curl -X GET -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://
{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/node_types -v -k
获取响应如下所示。
status CODE 200 { "node_types": [ {
"spec_name": "dws.d2.xlarge",
"id": "ebe532d6-665f-40e6-a4d4-3c51545b6a67", "detail": [
{
"type": "vCPU", "value": "4"
}, {
"value": "1675", "type": "LOCAL_DISK", "unit": "GB"
}, {
"type": "mem", "value": "32", "unit": "GB"
} ] }, {
"spec_name": "dws.m1.xlarge.ultrahigh", "id": "ebe532d6-665f-40e6-a4d4-3c51545b4f71", "detail": [
{
"type": "vCPU",
API 参考 4 快速入门
"value": "4"
}, {
"value": "512", "type": "SSD", "unit": "GB"
}, {
"type": "mem", "value": "32", "unit": "GB"
} ] } ] }
步骤3 调用创建集群接口创建集群。
创建集群配置样例信息如下:
● 集群名称:dws-demo
● 管理员用户名:dbadmin
● 管理员密码:Dws2017demo!
● 端口:8000
● 节点类型:dws.d1.xlarge
● 节点数量:3
● 弹性IP:auto_assign(自动绑定)
curl -X POST -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d '{
"node_type": "dws.d1.xlarge", "number_of_node": 3,
"subnet_id": "d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec", "security_group_id": "12e3c23a-8710-4b75-95e4-5c8d7f68ef3c", "vpc_id": "219ab8a0-1272-4049-a383-8ad0b770fa11",
"port": 8000, "name": "dws-demo", "user_name": "dbadmin", "user_pwd": "Dws2017demo!", "public_ip": {
"public_bind_type": "auto_assign"
}
}' https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/clusters -v -k
如果返回状态码为200,则说明创建集群请求下发成功。
步骤4 调用查询集群列表接口获取集群信息。
curl -X GET -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://
{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/clusters -k –v
获取响应如下所示:
{ "clusters": [ {
"id": "7ba031f6-81f4-4670-ad20-c490b91877e5", "status": "AVAILABLE",
"sub_status": "NORMAL", "task_status": null,
"action_progress": null, "node_type": "dws.d1.xlarge",
"subnet_id": "d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec", "security_group_id": "12e3c23a-8710-4b75-95e4-5c8d7f68ef3c", "number_of_node": 3,
"availability_zone": "cn-north-4b",
"port": 8000, "name": "dws-demo", "version": "1.1.0",
"vpc_id": "219ab8a0-1272-4049-a383-8ad0b770fa11", "user_name": "dbadmin",
"public_ip": {
"public_bind_type": "auto_assign",
"eip_id": "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574"
},
"public_endpoints": [ {
"public_connect_info": "dws-demo.cn-north-4.myhuaweicloud.com", "jdbc_url": "jdbc:postgresql://dws-demo.cn-north-4.myhuaweicloud.com/
<YOUR_DATABASE_name>"
} ],
"endpoints": [ {
"connect_info": "dws-demo.cn-north-4.myhuaweicloud.com",
"jdbc_url": "jdbc:postgresql://dws-demo.cn-north-4.myhuaweicloud.com/
<YOUR_DATABASE_name>"
}, ] ,
"updated": "2018-01-15T12:50:06", "created": "2018-01-15T12:50:06", "recent_event": 1
} ] }
● status的状态如果为“CREATING”,则表示集群正处于创建中;若为
“AVAILABLE”则表示集群创建成功。
● dws-demo集群对应的UUid为7ba031f6-81f4-4670-ad20-c490b91877e5,记录 该UUid,方便后续步骤使用。
步骤5 调用查询集群详情接口查看集群详细内容。
curl -X GET -H "Content-type:application/json" -H "X-Auth-Token:$Token"
https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/clusters/7ba031f6-81f4-4670- ad20-c490b91877e5 -k -v
获取响应如下所示:
{ "cluster": {
"id": "7ba031f6-81f4-4670-ad20-c490b91877e5", "status": "AVAILABLE",
"name": "dws-demo",
"updated": "2018-01-15T12:50:06", "created": "2018-01-15T12:50:06", "user_name": "dbadmin", "sub_status": "NORMAL", "task_status": null, "action_progress": null,
"node_type": "dws.d1.xlarge",
"node_type_id": "5ddb1071-c5d7-40e0-a874-8a032e81a697", "subnet_id": "d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec", "security_group_id": "12e3c23a-8710-4b75-95e4-5c8d7f68ef3c", "number_of_node": 3,
"availability_zone": "cn-north-4b", "port": 8000,
"vpc_id": "219ab8a0-1272-4049-a383-8ad0b770fa11", "public_ip": {
"public_bind_type": "auto_assign",
"eip_id": "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574"
},
"public_endpoints": [ {
"public_connect_info": "dws-demo.cn-north-4.myhuaweicloud.com",
API 参考 4 快速入门
"jdbc_url": "jdbc:postgresql://dws-demo.cn-north-4.myhuaweicloud.com/
<YOUR_DATABASE_name>"
} ],
"endpoints": [ {
"connect_info": "dws-demo.cn-north-4.myhuaweicloud.com",
"jdbc_url": "jdbc:postgresql://dws-demo.cn-north-4.myhuaweicloud.com/
<YOUR_DATABASE_name>"
} ],
"version": "1.1.0", "maintain_window": { "day": "Wed", "start_time": "22:00", "end_time": "02:00"
},
"recent_event": 1, "tags": null, "parameter_group": {
"id": "157e9cc4-64a8-11e8-adc0-fa7ae01bbebc", "name": "Default-Parameter-Group- dws ", "status": "In-Sync"
} } }
响应消息中还可以查询到集群的“public_endpoints”和“endpoints”等信息,集群 创建成功后,可以使用“public_endpoints”或“endpoints”从外部进行集群访问。
步骤6 调用创建快照接口创建快照。
基于集群dws-demo以创建一个名称为snapshotForDemoCluster的快照。
curl -X POST -H "Content-type:application/json" -H "X-Auth-Token:$Token" -d '{
"snapshot": {
"name": "snapshotForDemoCluster",
"cluster_id": "7ba031f6-81f4-4670-ad20-c490b91877e5", "description": "Snapshot description"
}
}' https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/snapshots -k -v
获取响应如下所示:
{ "snapshot": {
"id": "2a4d0f86-67cd-408a-8b66-017454fb7793"
}}
如果返回状态码为200,则说明快照创建请求下发成功,记录“id”,供后续查询快照 详情时使用。
步骤7 调用查询快照列表接口查看快照是否创建成功。
curl -X GET -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://
{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/snapshots/
2a4d0f86-67cd-408a-8b66-017454fb7793 -k -v
如果响应消息中快照状态为“AVAILABLE”,则说明快照创建成功;若为
“CREATING”,则表示快照正在创建中。
{ "snapshot": {
"id": "2a4d0f86-67cd-408a-8b66-017454fb7793", "name": "snapshotForDemoCluster",
"description": "Snapshot description", "started": "2018-01-18T13:59:23Z", "finished": "2018-01-18T13:01:40Z", "size": 500,
"status": "AVAILABLE",
"type": "MANUAL",
"cluster_id": "4f87d3c4-9e33-482f-b962-e23b30d1a18c"
} }
步骤8 调用恢复集群接口使用快照恢复集群。
将快照snapshotForDemoCluster恢复到名称为dws-restore的新集群。
curl -X POST -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d '{
"restore": {
"name": "dws-restore"
}
}' https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/snapshots/
2a4d0f86-67cd-408a-8b66-017454fb7793/actions -v -k
如果返回状态码为200,则说明集群恢复成功,可通过查询快照详情查看集群恢复状 态。
步骤9 当快照不再需要时,调用删除手动快照接口删除快照。
curl -X DELETE -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://
{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/snapshots/
2a4d0f86-67cd-408a-8b66-017454fb7793 -v -k
如果返回状态码为202,则说明快照删除成功。
步骤10 当集群使用完成或不再需要时,调用删除集群接口删除集群。
curl -X DELETE -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d '{
"keep_last_manual_snapshot":0
}' https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/clusters/7ba031f6-81f4-4670- ad20-c490b91877e5 -v -k
如果返回状态码为202,则说明集群删除成功。
----结束
API 参考 4 快速入门
5 API 说明
5.1 集群管理接口
一个GaussDB(DWS)(数据仓库服务)集群是GaussDB(DWS) 最小的管理单元。集群 表示独立运行的数据仓库。用户可以在GaussDB(DWS) 中管理集群生命周期。
5.1.1 创建集群
功能介绍
该接口用于创建集群。
集群必须要运行在VPC之内,创建集群前,您需要先创建VPC,并获取VPC和子网的 id。
该接口为异步接口,创建集群需要10~15分钟。
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
POST /v1.0/{project_id}/clusters
● 参数说明
表5-1 URI 参数说明
参数 是否
必选
参数类 型
描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
请求消息
● 请求样例
POST /v1.0/89cd04f168b84af6be287f71730fdb4b/clusters {"cluster": {
"node_type": "dws.d1.xlarge.ultrahigh", "number_of_node": 3,
"subnet_id": "374eca02-cfc4-4de7-8ab5-dbebf7d9a720", "security_group_id": "dc3ec145-9029-4b39-b5a3-ace5a01f772b", "vpc_id": "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574",
"availability_zone": "cn-north-4b", "port": 8000,
"name": "dws-1", "user_name": "dbadmin", "user_pwd": "Password!", "public_ip": {
"public_bind_type": "auto_assign", "eip_id": ""
},
"enterprise_project_id":"aca4e50a-266f-4786-827c-f8d6cc3fbada" } }
● 参数说明
表5-2 请求参数说明
参数 是否
必选
参数类 型
描述
cluster 是 CreateC lusterIn foobject
集群对象
表5-3 CreateClusterInfo
参数 是否必选 参数类型 描述
node_type 是 String 节点类型。
number_of_n
ode 是 Integer 集群节点数量,取值范围为
3~32。
subnet_id 是 String 指定子网ID,用于集群网络配 置。
security_grou
p_id 是 String 指定安全组ID,用于集群网络
配置。
vpc_id 是 String 指定虚拟私有云ID,用于集群 网络配置。
availability_z
one 否 String 配置集群可用区。
API 参考 5 API 说明
参数 是否必选 参数类型 描述
port 否 Integer 集群服务端口,取值范围为
8000~30000,默认值:
8000。
name 是 String 集群名称,要求唯一性,必须
以字母开头并只包含字母、数 字、中划线或下划线,长度为 4~64个字符。
user_name 是 String DWS集群管理员用户名。用户 命名要求如下:
● 只能由小写字母、数字或 下划线组成。
● 必须以小写字母或下划线 开头。
● 长度为1~63个字符。
● 用户名不能为DWS数据库 的关键字。
user_pwd 是 String DWS集群管理员密码。
public_ip 否 PublicIp
object 公网IP地址,如果未指定,则 默认不使用公网连接。
number_of_c
n 否 Integer CN部署量,取值范围为2~集
群节点数-1,最大值为5,默 认值为2。
enterprise_pr
oject_id 否 String 企业项目ID,对集群指定企业 项目,如果未指定,则使用默 认企业项目“default”的ID,
即0。
表5-4 PublicIp
参数 是否必选 参数类型 描述
public_bind_t
ype 是 String 弹性IP绑定类型,取值如下:
● auto_assign:自动绑定
● not_use:暂未使用
● bind_existing :使用已有 eip_id 否 String 弹性IP的id
响应消息
● 响应样例
{ "cluster": {
"id": "7d85f602-a948-4a30-afd4-e84f47471c15"
} }
● 参数说明
表5-5 响应参数参数
参数 参数类型 描述
cluster Cluster
object 集群对象
表5-6 Cluster
参数 参数类型 描述
id String 集群ID
状态码
● 正常 200
● 异常
表5-7 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
500 Internal Server
Error 服务内部错误。
503 Service
Unavailable 服务不可用。
5.1.2 查询集群列表
功能介绍
该接口用于查询并显示集群列表。
调试
您可以在API Explorer调试该接口。
API 参考 5 API 说明
URI
● URI 格式
GET /v1.0/{project_id}/clusters
● 参数说明
表5-8 URI 参数说明
参数 是否
必选
参数类 型
描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
请求
请求样例
GET /v1.0/89cd04f168b84af6be287f71730fdb4b/clusters
响应
● 响应样例
{ "clusters": [ {
"id": "7d85f602-a948-4a30-afd4-e84f47471c15", "status": "AVAILABLE",
"sub_status": "READONLY", "task_status": "SNAPSHOTTING",
"action_progress": {"SNAPSHOTTING": "20%"}, "node_type": "dws.d1.xlarge.ultrahigh",
"subnet_id": "374eca02-cfc4-4de7-8ab5-dbebf7d9a720", "security_group_id": "dc3ec145-9029-4b39-b5a3-ace5a01f772b", "number_of_node": 3,
"availability_zone": "cn-north-4b", "port": 8000,
"name": "dws-1", "version": "1.2.0",
"vpc_id": "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574", "user_name": "dbadmin",
"public_ip": {
"public_bind_type": "auto_assign",
"eip_id": "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574"
},
"public_endpoints": [ {
"public_connect_info": "dws-1.cn-north-4.myhuaweicloud.com", "jdbc_url": "jdbc:postgresql://dws-1.cn-north-4.myhuaweicloud.com/
<YOUR_DATABASE_name>"
} ],
"endpoints": [ {
"connect_info": "dws-1.cn-north-4.myhuaweicloud.com",
"jdbc_url": "jdbc:postgresql://dws-1.cn-north-4.myhuaweicloud.com/
<YOUR_DATABASE_name>"
} ] ,
"updated": "2016-02-10T14:28:14Z", "created": "2016-02-10T14:26:14Z",
"enterprise_project_id":"aca4e50a-266f-4786-827c-f8d6cc3fbada", "tags":[
{
"key": "key1", "value": "value1"
}, {
"key": "key2", "value": "value2"
} ],
"recent_event": 6 }
] }
● 参数说明
表5-9 响应参数说明
参数 参数类型 描述
clusters Array of ClusterInfo objects
集群对象列表。
count Integer 集群对象列表总数。
表5-10 ClusterInfo
参数 参数类型 描述
id String 集群ID。
status String 集群状态,有效值包括:
● CREATING:创建中
● AVAILABLE:可用
● UNAVAILABLE:不可用
● CREATION FAILED:创建失败
● FROZEN:已冻结
API 参考 5 API 说明
参数 参数类型 描述
sub_status String “可用”集群状态的子状态,有效值包括:
● NORMAL:正常
● READONLY:只读
● REDISTRIBUTING:重分布中
● REDISTRIBUTION-FAILURE:重分布失败
● UNBALANCED:非均衡
● UNBALANCED | READONLY:非均衡,只 读
● DEGRADED:节点故障
● DEGRADED | READONLY:节点故障,只 读
● DEGRADED | UNBALANCED:节点故障,
非均衡
● UNBALANCED | REDISTRIBUTING:非均 衡,重分布中
● UNBALANCED | REDISTRIBUTION- FAILURE:非均衡,重分布失败
● READONLY | REDISTRIBUTION-FAILURE:
只读,重分布失败
● UNBALANCED | READONLY |
REDISTRIBUTION-FAILURE:非均衡,只 读,重分布失败
● DEGRADED | REDISTRIBUTION- FAILURE:节点故障,重分布失败
● DEGRADED | UNBALANCED |
REDISTRIBUTION-FAILURE:节点故障,非 均衡,只读,重分布失败
● DEGRADED | UNBALANCED | READONLY
| REDISTRIBUTION-FAILURE:节点故障,
非均衡,只读,重分布失败
● DEGRADED | UNBALANCED |
READONLY:节点故障,非均衡,只读
参数 参数类型 描述
task_status String 集群管理任务,有效值包括:
● UNFREEZING:解冻中
● FREEZING:冻结中
● RESTORING:恢复中
● SNAPSHOTTING:快照中
● GROWING:扩容中
● REBOOTING:重启中
● SETTING_CONFIGURATION:安全设置配 置中
● CONFIGURING_EXT_DATASOURCE:MRS 连接配置中
● DELETING_EXT_DATASOURCE:删除MRS 连接
● REBOOT_FAILURE:重启失败
● RESIZE_FAILURE:扩容失败 action_progr
ess Map<String,S
tring> 任务信息,由key、value组成。key值为正在 进行的任务,value值为正在进行任务的进度。
key值的有效值包括:
● GROWING:扩容中
● RESTORING:恢复中
● SNAPSHOTTING:快照中
● REPAIRING : 修复中
● CREATING : 创建中 示例如下:
"action_progress":
{"SNAPSHOTTING":"16%"}
node_type String 节点类型 subnet_id String 子网ID security_gro
up_id String 安全组ID number_of_n
ode Integer 节点数量 availability_z
one String 可用区
port Integer 集群服务端口,取值范围8000~30000,默认 值:8000
name String 集群名称 version String 数据仓库版本
API 参考 5 API 说明
参数 参数类型 描述
vpc_id String 虚拟私有云ID user_name String 管理员用户名 public_ip PublicIp
object 公网IP地址,如果未指定,则默认不使用公网 连接。
public_endpo
ints Array of PublicEndpo ints objects
集群的公网连接信息,如果未指定,则默认不 使用公网连接信息。
endpoints Array of Endpoints objects
集群的内网连接信息。
updated String 集群上次修改时间,格式为 ISO8601:YYYY- MM-DDThh:mm:ssZ。
created String 集群创建时间,格式为 ISO8601:YYYY-MM- DDThh:mm:ssZ。
enterprise_pr
oject_id String 企业项目ID。值为0表示默认企业项目
“default”。
recent_event Integer 事件数。
failed_reason
s FailedReaso
n object 失败原因。如果为空,则集群处于正常状态。
表5-11 PublicIp
参数 是否
必选
参数类型 描述
public_bind_ty
pe 是 String 弹性IP绑定类型,取值如下:
● auto_assign:自动绑定
● not_use:暂未使用
● bind_existing :使用已有 eip_id 否 String 弹性IP的id
表5-12 PublicEndpoints
参数 参数类型 描述
public_conne
ct_info String 公网连接信息 jdbc_url String 公网JDBC URL
表5-13 Endpoints
参数 是否
必选
参数类型 描述
connect_info 是 String 内网连接信息。
jdbc_url 是 String 内网JDBC URL,默认格式如下 jdbc:postgresql://< connect_info>/
<YOUR_DATABASE_name>
表5-14 FailedReason
参数 参数类型 描述
error_code String 错误码。
error_msg String 错误信息。
返回值
● 正常 200
● 异常
表5-15 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
500 Internal Server
Error 服务内部错误。
503 Service
Unavailable 服务不可用。
5.1.3 查询集群详情
功能介绍
该接口用于查询集群详情。
API 参考 5 API 说明
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
GET /v1.0/{project_id}/clusters/{cluster_id}
● 参数说明
表5-16 URI 参数说明
参数 是否
必选
参数类型 描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
cluster_id 是 String 集群ID。获取方法,请参见获取集群ID。
请求消息
请求样例
GET /v1.0/89cd04f168b84af6be287f71730fdb4b/clusters/b5c45780-1006-49e3-b2d5-b3229975bbc7
响应消息
● 响应样例
{ "cluster": {
"id": "7d85f602-a948-4a30-afd4-e84f47471c15", "status": "AVAILABLE",
"name": "dws-1",
"updated": "2018-02-10T14:28:14Z", "created": "2018-02-10T14:28:14Z", "user_name": "dbadmin",
"sub_status": "READONLY", "task_status": "SNAPSHOTTING",
"action_progress": {"SNAPSHOTTING": "20%"}, "node_type": "dws.m1.xlarge.ultrahigh",
"subnet_id": "374eca02-cfc4-4de7-8ab5-dbebf7d9a720", "security_group_id": "dc3ec145-9029-4b39-b5a3-ace5a01f772b", "number_of_node": 3,
"availability_zone": "cn-north-4b", "port": 8000,
"vpc_id": "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574", "public_ip": {
"public_bind_type": "auto_assign",
"eip_id": "85b20d7e-9etypeb2a-98f3-3c8843ea3574"
},
"private_ip":["192.168.0.12","192.168.0.66"], "public_endpoints": [
{
"public_connect_info": "dws-1.cn-north-4.myhuaweicloud.com", "jdbc_url": "jdbc:postgresql://dws-1.cn-north-4.myhuaweicloud.com/
<YOUR_DATABASE_name>"
} ],
"endpoints": [ {
"connect_info": "dws-1.cn-north-4.myhuaweicloud.com",
"jdbc_url": "jdbc:postgresql://dws-1.cn-north-4.myhuaweicloud.com/
<YOUR_DATABASE_name>"
} ],
"version": "1.2.0", "maintain_window": { "day": "Wed", "start_time": "22:00", "end_time": "02:00"
},
"resize_info" : {
"target_node_num": "6", "origin_node_num": "3", "resize_status": "GROWING",
"start_time": "2018-02-14T14:28:14Z",
"origin_node_type": "dws.m1.xlarge.ultrahigh", "target_node_type":
"dws.d2.xlarge" },
"enterprise_project_id": "6a6a18fe-417a-4188-9214-75fd08c22065", "recent_event": 6,
"tags":[
{
"key": "key1", "value": "value1"
}, {
"key": "key2", "value": "value2"
} ],
"parameter_group": { "id": "157e9cc4-64a8-11e8-adc0-fa7ae01bbebc", "name": "Default-Parameter-Group-dws ", "status": "In-Sync"
} } }
● 参数说明
表5-17 响应参数说明
参数 参数类型 描述
cluster ClusterDetai
l object 集群详情对象
表5-18 ClusterDetail
参数 参数类型 描述
id String 集群ID
API 参考 5 API 说明
参数 参数类型 描述
status String 集群状态,有效值包
括:
● CREATING:创建中
● AVAILABLE:可用
● UNAVAILABLE:不可 用
● CREATION FAILED:
创建失败
● FROZEN:已冻结
name String 集群名称
updated String 集群上次修改时间,格
式为ISO8601:YYYY- MM-DDThh:mm:ssZ
created String 集群创建时间,格式为
ISO8601:YYYY-MM- DDThh:mm:ssZ
user_name String 管理员用户名
参数 参数类型 描述
sub_status String “可用”集群状态的子 状态,有效值包括:
● NORMAL:正常
● READONLY:只读
● REDISTRIBUTING:
重分布中
● REDISTRIBUTION- FAILURE:重分布失 败
● UNBALANCED:非 均衡
● UNBALANCED | READONLY:非均 衡,只读
● DEGRADED:节点故 障
● DEGRADED |
READONLY:节点故 障,只读
● DEGRADED | UNBALANCED:节 点故障,非均衡
● UNBALANCED | REDISTRIBUTING:
非均衡,重分布中
● UNBALANCED | REDISTRIBUTION- FAILURE:非均衡,
重分布失败
● READONLY | REDISTRIBUTION- FAILURE:只读,重 分布失败
● UNBALANCED | READONLY | REDISTRIBUTION- FAILURE:非均衡,
只读,重分布失败
● DEGRADED | REDISTRIBUTION- FAILURE:节点故 障,重分布失败
● DEGRADED | UNBALANCED | REDISTRIBUTION-
API 参考 5 API 说明
参数 参数类型 描述
FAILURE:节点故 障,非均衡,只读,
重分布失败
● DEGRADED | UNBALANCED | READONLY | REDISTRIBUTION- FAILURE:节点故 障,非均衡,只读,
重分布失败
● DEGRADED | UNBALANCED | READONLY:节点故 障,非均衡,只读 task_status String 集群管理任务,有效值
包括:
● UNFREEZING:解冻 中
● FREEZING:冻结中
● RESTORING:恢复中
● SNAPSHOTTING:快 照中
● GROWING:扩容中
● REBOOTING:重启 中
● SETTING_CONFIGUR ATION:安全设置配 置中
● CONFIGURING_EXT_
DATASOURCE:MRS 连接配置中
● DELETING_EXT_DAT ASOURCE:删除MRS 连接
● REBOOT_FAILURE:
重启失败
● RESIZE_FAILURE:扩 容失败
参数 参数类型 描述
action_progress Map<String,String> key值为正在进行的任 务,有效值包括:
● GROWING:扩容中
● RESTORING:恢复中
● SNAPSHOTTING:快 照中
● REPAIRING : 修复中
● CREATING : 创建中 value值为正在进行任务 的进度。
node_type String 节点类型
subnet_id String 子网ID
security_group_id String 安全组ID number_of_node Integer 节点数量 availability_zone String 可用区
port Integer 集群服务端口
(8000~30000),默认 值:8000
vpc_id String 虚拟私有云ID
public_ip PublicIp object 公网IP地址,如果未指 定,则默认不使用公网 连接
private_ip Array of strings 内网IP地址列表 public_endpoints Array of
PublicEndpoints objects
集群的公网连接信息,
如果未指定,则默认不 使用公网连接信息。
endpoints Array of Endpoints
objects 集群的内网连接信息
version String 数据仓库版本
maintain_window MaintainWindow
object 集群维护时间窗信息
resize_info ResizeInfo object 集群扩容状态详情 enterprise_project_id String 企业项目ID。值为0表示
默认企业项目
“default”。
recent_event Integer 事件数
API 参考 5 API 说明
参数 参数类型 描述 tags Array of Tags objects 集群标签 parameter_group ParameterGroup
object 集群所关联的参数组信
息
node_type_id String 节点类型ID
failed_reasons FailedReason object 失败原因。如果为空,
则集群处于正常状态。
表5-19 FailedReason
参数 参数类型 描述
error_code String 错误码。
error_msg String 错误信息。
表5-20 PublicIp
参数 是否
必选
参数类型 描述
public_bind_t
ype 是 String 弹性IP绑定类型,取值如下:
● auto_assign:自动绑定
● not_use:暂未使用
● bind_existing :使用已有 eip_id 否 String 弹性IP的id
表5-21 PublicEndpoints
参数 是否
必选
参数类型 描述
public_connec
t_info 否 String 公网连接信息。
jdbc_url 否 String 公网JDBC URL,默认格式如下:
jdbc:postgresql://<
public_connect_info>/
<YOUR_DATABASE_name>
表5-22 Endpoints
参数 是否
必选
参数类型 描述
connect_info 是 String 内网连接信息。
jdbc_url 是 String 内网JDBC URL,默认格式如下:
jdbc:postgresql://< connect_info>/
<YOUR_DATABASE_name>
表5-23 MaintainWindow
参数 是否
必选
参数类型 描述
day 否 String 每周的维护时间,以天为粒度,取值如下
● Mon:星期一
● Tue:星期二
● Wed:星期三
● Thu:星期四
● Fri: 星期五
● Sat:星期六
● Sun:星期日
start_time 否 String 维护开始时间,显示格式为 HH:mm,
时区为GMT+0。
end_time 否 String 维护结束时间,显示格式为 HH:mm, 时 区为GMT+0。
表5-24 ResizeInfo
参数 参数类型 描述
target_node_
num Integer 扩容后的节点数量 origin_node_
num Integer 扩容前的节点数量 resize_status String 扩容状态,取值如下:
● GROWING:扩容中
● RESIZE_FAILURE:扩容失败
start_time String 扩容开始时间,格式为ISO8601:YYYY-MM- DDThh:mm:ss
API 参考 5 API 说明
表5-25 Tags
参数 参数类型 描述
key String 键。输入标签键的最大长度为36个unicode字 符,不能为空字符串,且首尾字符不能为空 格。 不能包含“=”,“*”,“<”,“>”,“\”,
“,”,“|”,“/”。 只能包含大写字母(A- Z)、小写字母(a-z)、数字(0-9)和特殊 字符(中划线-、下划线_)以及中文字符。
value String 值。输入标签值的最大长度为43个字符,首尾 字符不能为空格,可以为空字符串。 不能包含
“=”,“*”,“<”,“>”,“\”,“,”,“|”,
“/”。 只能包含大写字母(A-Z)、小写字母
(a-z)、数字(0-9)和特殊字符(中划线-、
下划线_)以及中文字符。
表5-26 ParameterGroup
参数 是否必
选
参数类 型
描述
id 是 String 参数组ID name 是 String 参数组名称
status 是 String 集群参数状态,有效值包括:
● In-Sync:已同步
● Applying:应用中
● Pending-Reboot:需重启生效
● Sync-Failure:应用失败
状态码
● 正常 200
● 异常
表5-27 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
返回值 描述 500 Internal Server
Error 服务内部错误
503 Service Unavailable 服务不可用。
5.1.4 查询节点类型
功能介绍
该接口用于查询所有GaussDB(DWS) 服务支持的节点类型。
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
GET /v2/{project_id}/node-types
表5-28 URI 参数说明
参数 是否
必选
参数类型 描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
请求消息
● 请求样例
GET /v2/89cd04f168b84af6be287f71730fdb4b/node-types
响应消息
● 响应样例
status CODE 200 { "node_types": [ {
"spec_name":"dws.d2.xlarge",
"id": "ebe532d6-665f-40e6-a4d4-3c51545b6a67", "detail": [
{
"type": "vCPU", "value": "4"
}, {
"value": "1675", "type": "LOCAL_DISK", "unit": "GB"
}, {
"type": "mem", "value": "32",
API 参考 5 API 说明
"unit": "GB"
} ] }, {
"spec_name": "dws.m1.xlarge.ultrahigh", "id": "ebe532d6-665f-40e6-a4d4-3c51545b4f71", "detail": [
{
"type": "vCPU", "value": "4"
}, {
"value": "512", "type": "SSD", "unit": "GB"
}, {
"type": "mem", "value": "32", "unit": "GB"
} ] } ] }
● 参数说明
表5-29 响应参数说明
参数 参数类型 描述
node_types Array of NodeTypes objects
节点类型对象列表。
表5-30 NodeTypes
参数 参数类型 描述
spec_name String 节点类型名称。
detail Array of Detail objects
节点类型详细。
id String 节点类型ID。
表5-31 Detail
参数 参数类型 描述
type String 属性类型。
value String 属性值。
unit String 属性单位。
状态码
● 正常 200
● 异常
表5-32 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
500 Internal Server
Error 服务内部错误。
503 Service
Unavailable 服务不可用。
5.1.5 删除集群
功能介绍
此接口用于删除集群。集群删除后将释放此集群的所有资源,包括客户数据。为了安 全起见,请在删除集群前为这个集群创建快照。
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
DELETE /v1.0/{project_id}/clusters/{cluster_id}
● 参数说明
表5-33 URI 参数说明
参数 是否
必选
参数类型 描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
cluster_id 是 String 指定待删除集群的ID。获取方法,请参见获 取集群ID。
API 参考 5 API 说明
请求消息
● 请求样例
DELETE /v1.0/89cd04f168b84af6be287f71730fdb4b/clusters/4ca46bf1-5c61-48ff-b4f3-0ad4e5e3ba90 { "keep_last_manual_snapshot":0
}
● 参数说明
表5-34 请求参数说明
参数 是否
必选
参数类 型
描述
keep_last_manual
_snapshot 是 Integer 集群需要保留的快照数。
响应消息
响应样例
status CODE 202
状态码
● 正常 202
● 异常
表5-35 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
500 Internal Server Error 服务内部错误。
503 Service Unavailable 服务不可用。
5.1.6 重启集群
功能介绍
此接口用于重启集群。
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
POST /v1.0/{project_id}/clusters/{cluster_id}/restart
● 参数说明
表5-36 URI 参数说明
参数 是否
必选 参数类型 描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
cluster_id 是 String 指定待重启集群的ID。获取方法,请参见获 取集群ID。
请求消息
● 请求样例
POST /v1.0/89cd04f168b84af6be287f71730fdb4b/clusters/4ca46bf1-5c61-48ff-b4f3-0ad4e5e3ba90/
restart { "restart":{}
}
● 参数说明
表5-37 请求参数说明
参数 是否
必选
参数类型 描述
restart 是 Object 重启标识
响应消息
响应样例
status CODE 200
状态码
● 正常 200
● 异常
API 参考 5 API 说明
表5-38 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
500 Internal Server
Error 服务内部错误。
503 Service
Unavailable 服务不可用。
5.1.7 扩容集群
功能介绍
此接口用于扩容集群。
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
POST /v1.0/{project_id}/clusters/{cluster_id}/resize
● 参数说明
表5-39 URI 参数说明
参数 是否
必选
参数类型 描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
cluster_id 是 String 指定待扩容集群的ID。获取方法,请参见 获取集群ID。
请求消息
● 请求样例
scale_out接口样例如下:
POST /v1.0/89cd04f168b84af6be287f71730fdb4b/clusters/4ca46bf1-5c61-48ff-b4f3-0ad4e5e3ba90/
resize
{ "scale_out":{
"count":3
} }
● 参数说明
表5-40 请求参数说明
参数 是否必选 参数类型 描述
scale_out 否 ScaleOut
object 扩容对象
表5-41 ScaleOut
参数 是否
必选
参数类型 描述
count 是 Integer 扩容节点数。
响应消息
响应样例
status CODE 200
状态码
● 正常 200
● 异常
表5-42 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
500 Internal Server
Error 服务内部错误。
503 Service
Unavailable 服务不可用。
API 参考 5 API 说明
5.1.8 重置密码
功能介绍
此接口用于重置集群管理员密码。
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
POST /v1.0/{project_id}/clusters/{cluster_id}/reset-password
● 参数说明
表5-43 URI 参数说明
参数 是否
必选
参数类型 描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
cluster_id 是 String 指定待重置密码集群的ID。获取方法,请参 见获取集群ID。
请求消息
● 请求样例
POST /v1.0/89cd04f168b84af6be287f71730fdb4b/clusters/4ca46bf1-5c61-48ff-b4f3-0ad4e5e3ba90/
reset-password
{ "new_password": "NewPassword!"
}
● 参数说明
表5-44 请求参数说明
参数 是否
必选
参数类型 描述
new_passwor
d 是 String GaussDB(DWS) 集群管理员新密码。
新密码复杂度要求如下:
● 密码字符长度为8~32位。
● 不能与用户名或倒序的用户名相同。
● 至少包含以下4种类型的3种:
– 小写字母 – 大写字母 – 数字
– 特殊字符(~!?,.:;-_'"(){}[]/<>@#
%^&*+|\=)。
● 不能与历史密码相同。
● 不能为弱密码。
响应消息
响应样例
status CODE 200
状态码
● 正常 200
● 异常
表5-45 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
500 Internal Server
Error 服务内部错误。
503 Service
Unavailable 服务不可用。
API 参考 5 API 说明
5.2 快照管理接口
一个GaussDB(DWS)(数据仓库服务)快照是一个集群的完整备份,快照存储于对象 存储服务(OBS)中,快照可以用于将集群还原到新创建的具有相同规格的集群,当 前,您只能将集群还原为新集群。
5.2.1 创建快照
功能介绍
该接口用于为指定集群创建快照。
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
POST /v1.0/{project_id}/snapshots
● 参数说明
表5-46 URI 参数说明
参数 是否
必选
参数类 型
描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
请求消息
● 请求样例
POST /v1.0/89cd04f168b84af6be287f71730fdb4b/snapshots { "snapshot": {
"name": "snapshot-3",
"cluster_id": "44b277eb-39be-4921-be31-3d61b43651d7", "description": "Snapshot-3 description"
} }
● 参数说明
表5-47 请求参数说明
参数 是否必选 参数类型 描述
snapshot 是 Snapshot
object 快照对象
表5-48 Snapshot
参数 是否必选 参数类型 描述
name 是 String 快照名称,要求唯一性且必须
以字母开头,不区分大小写,
可以包含字母、数字、中划线 或者下划线,不能包含其他的 特殊字符,长度为4~64个字 符。
cluster_id 是 String 指定创建快照的集群ID。获取 方法,请参见获取集群ID。
description 否 String 快照描述,若不指定,描述为 空。快照描述的字符长度不能 超过256个字符,且不支持特 殊字符!<>'=&"。
响应消息
● 响应样例
status CODE 200 { "snapshot": {
"id": "2a4d0f86-67cd-408a-8b66-017454fb7793"
} }
● 参数说明
表5-49 响应参数说明
参数 参数类型 描述
snapshot SnapshotRes
p object 快照对象。
表5-50 SnapshotResp
参数 参数类型 描述
id String 快照ID。
状态码
● 正常 200
● 异常
API 参考 5 API 说明
表5-51 返回值说明
返回值 描述
400 Bad Request 请求错误。
401 Unauthorized 鉴权失败。
403 Forbidden 没有操作权限。
404 Not Found 找不到资源。
500 Internal
Server Error 服务内部错误。
503 Service
Unavailable 服务不可用。
5.2.2 查询快照列表
功能介绍
该接口用于查询快照列表。
调试
您可以在API Explorer调试该接口。
URI
● URI 格式
GET /v1.0/{project_id}/snapshots
● 参数说明
表5-52 URI 参数说明
参数 是否
必选
参数类型 描述
project_id 是 String 项目ID。获取方法,请参见获取项目ID。
请求消息
请求样例
GET /v1.0/89cd04f168b84af6be287f71730fdb4b/snapshots
响应消息
● 响应样例
status CODE 200 { "snapshots": [ {