华为云用户手册

  • 绑定OBS桶 登录弹性文件服务管理控制台。 在文件系统列表中,单击创建的文件系统名称,进入文件系统详情页面。 进入第三个页签“OBS绑定目标”,单击“绑定OBS”。 图1 绑定OBS 在右侧弹窗“绑定OBS目标”中,填写如下参数。 参数 含义 限制 配置后可编辑 路径名称 SFS Turbo文件系统根目录下会以该名称创建一个子目录,该目录将绑定对应的OBS桶 子目录名称不能重复 子目录名称必须是文件系统根目录下不存在的目录名 子目录名称不能是“.”或“..” 不支持 桶名 OBS存储桶桶名 无法绑定不存在的存储桶 目前仅支持OBS存储桶,不支持OBS并行文件系统 不支持 OBS Endpoint OBS区域域名 OBS存储桶必须和SFS Turbo文件系统在同一个Region 不支持 勾选“将OBS桶读写权限授权给SFS Turbo服务进行OBS目标绑定”,并单击“确定”,完成绑定。 目前仅支持OBS存储桶,不支持OBS并行文件系统。 绑定OBS桶时,会在OBS桶上添加名为"Sid": "PolicyAddedBySFSTurbo"的桶策略,请不要修改或删除该桶策略,否则可能导致联动功能异常。 绑定OBS桶后,OBS桶原有的桶策略会被名为"Sid": "PolicyAddedBySFSTurbo"的桶策略覆盖。
  • 元数据导入功能 SFS Turbo文件系统绑定OBS桶后,可以使用元数据导入功能。 当您使用SFS Turbo文件系统访问OBS桶的数据时,您需要使用元数据导入功能提前将OBS数据文件的元数据(名称、大小、最后修改时间)导入到SFS Turbo文件系统中。只有元数据导入之后,您才可以在文件系统的联动子目录中去访问OBS存储桶中的数据。元数据导入功能仅会导入文件元数据,文件内容会在首次访问时从OBS存储桶中加载并缓存在SFS Turbo中,后续重复访问会直接命中,无需再从OBS存储桶中加载。 SFS Turbo文件系统提供快速导入和附加元数据导入两种元数据导入方式。元数据导入之后,您可以在联动子目录下看到导入的目录和文件列表。 快速导入:当您绑定的OBS桶中存储的数据不是来源于SFS Turbo导出时,可以选择快速导入方式,快速导入方式仅会导入OBS的元数据(名称、大小、最后修改时间),不会导入其它附加元数据(如uid、gid、mode),SFS Turbo会生成默认的附加元数据(uid:0、gid:0、目录权限:755、文件权限:644)。快速导入能够提供更快的元数据导入性能,推荐您使用快速导入。 附加元数据导入:当您绑定的OBS桶中存储的数据是来源于SFS Turbo导出时,可以使用附加元数据导入方式,附加元数据导入方式会导入OBS的元数据(名称、大小、最后修改时间)以及来源于SFS Turbo导出时的附加元数据(如uid、gid、mode)。 在绑定OBS桶之后,单击“导入”选项。 图2 元数据导入 “导入前缀”请填写绑定OBS桶内对象的前缀,可以具体到某个对象名。如果要导入整个OBS桶内的所有对象,则不用填写。 勾选“附加元数据导入”将会采用附加元数据导入方式,不勾选“附加元数据导入”将采用快速导入方式。 点击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,若OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。
  • 数据导出功能 SFS Turbo文件系统绑定OBS桶后,可以使用数据导出功能。 当您在联动目录创建一些文件,或者对从OBS导入的文件进行修改后,需要将这些文件存储到OBS桶里,可以使用数据导出功能。数据导出支持指定前缀,只有满足指定前缀的目录和文件才会被导出到OBS桶里。 在绑定OBS桶之后,单击“导出”选项。 图3 数据导出 “导出前缀”请填写需要导出的目录和文件前缀(路径不包含联动目录),可以具体到某个文件。如果要导出整个联动目录到OBS桶,则不用填写。 单击“确定”,提交导出任务。 数据导出功能会启动异步任务对导出目录内的文件进行扫描并导出,若扫描时发现文件10s内发生过更新,则本次任务不会导出该文件。 对于一个文件的所有修改,导出到OBS桶之后,下次再提交该文件的导出任务时,若该文件未发生过变化,则该文件不会被再次导出,即使OBS桶里已经将导出的对象删掉了,也不会再导出该文件。 从SFS Turbo导出的对象,在OBS对象的自定义元数据里保存了一些SFS Turbo的元数据信息,名称以x-obs-meta-sfsturbo-st-开头。 不支持超长路径,可导出文件路径的最大长度为1023个字符。 文件系统内单个文件大小上限为320TB、可导出的单个文件大小上限为48.8TB。 大文件导出时OBS桶内x-obs-upload-sfsturbo-temp-part目录会存储大文件导出过程中产生的临时文件,导出完成后会自动删除该目录及临时文件。 导出数据时: 导入到SFS Turbo的对象,当在SFS Turbo里修改了,再从SFS Turbo导出这个对象时,若OBS桶里该对象没有发生过修改,则会覆盖OBS桶里的对象,若OBS桶里该对象发生过修改,则不会覆盖。 对象正在被导出时,上传同名对象可能会造成新上传的对象被覆盖。 开启WORM策略的OBS桶,无法从SFS Turbo导出数据到OBS桶。
  • 数据淘汰功能 SFS Turbo文件系统绑定OBS桶之后,可以配置数据淘汰功能。SFS Turbo会自动释放设定时间内没有访问过的文件数据内容,仅保留文件元数据,数据内容释放后不占用SFS Turbo文件系统上的存储空间,再次访问该文件时,将重新从OBS中加载文件数据内容。 配置(冷)数据淘汰时间请参考以下步骤进行操作。 登录弹性文件服务管理控制台。 在文件系统列表中,单击创建的SFS Turbo文件系统名称,进入文件系统详情页面。 在“基本信息”页签,设置(冷)数据淘汰时间。 图4 设置冷数据淘汰时间 数据淘汰默认开启,淘汰时间默认为60小时。配置冷数据淘汰时间的API请参考更新文件系统。 如果SFS Turbo文件系统存储空间写满,会影响业务运行,建议在 云监控服务 CES上配置SFS Turbo已用容量的监控告警。 当触发容量阈值告警时请手动缩短数据淘汰时间,例如从60小时配置成40小时,加速(冷)数据淘汰,或者对SFS Turbo存储空间进行扩容。
  • FAQ 什么情况下会发生数据淘汰? 从OBS导入到SFS Turbo的文件,当文件在设定数据淘汰时间内没有被访问时,会自动对该文件进行淘汰。 在SFS Turbo上创建的文件,只有已经导出到OBS并且满足数据淘汰时间,才会进行淘汰,如果还没有导出到OBS,则不会淘汰。 数据淘汰之后,怎么重新将数据导入到SFS Turbo文件系统? 对文件进行读写操作时会重新从OBS桶加载文件数据到SFS Turbo文件系统; 使用数据预热功能重新将数据从OBS桶加载到SFS Turbo文件系统。 什么场景下会发生数据预热失败? 当只导入了文件元数据,或者SFS Turbo中发生了数据淘汰,SFS Turbo中只剩下文件元数据,但OBS桶中的对象又被删除时,进行数据预热或访问文件内容时会发生失败。 导入/导出任务是同步的,还是异步的? 是异步的,任务提交后马上返回,您可以通过任务id查询异步任务完成状态。 删除SFS Turbo联动目录内的文件,OBS桶里对应的对象会删除吗? 不会。
  • 操作步骤 查询证书列表。 接口相关信息 URI格式:GET /v3/scm/certificates 详情请参见查询证书列表。 请求示例 GET: https://{endpoint}/v3/scm/certificates {endpoint}信息请从地区和终端节点获取。 Body: { "limit": "2", "offset": "0" } 响应示例 { "certificates" : [ { "id" : "scs1554192131150", "name" : "test", "domain" : "www.zx.com", "type" : "OV_SSL_CERT", "brand" : "GEOTRUST", "expire_time" : "2021-05-27 16:46:25.0", "domain_type" : "MULTI_DOMAIN", "validity_period" : 12, "status" : "ISSUED", "domain_count" : 2, "wildcard_count" : 0, "description" : null } ], "total_count" : 1 } 推送SSL证书。 接口相关信息 URI格式:POST /v3/scm/certificates/{certificate_id}/push 详情请参见推送证书。 请求示例 POST: https://{endpoint}/v3/scm/certificates/scs1554192131150/push {endpoint}信息请从地区和终端节点获取。 响应示例 { } 或 { "error_code" : "SCM.XXX", "error_msg" : "XXX" }
  • 操作步骤 导入证书。 接口相关信息 URI格式:POST /v3/scm/certificates/import 详情请参见导入证书。 请求示例 POST: https://{endpoint}/v3/scm/certificates/import {endpoint}信息请从地区和终端节点获取。 响应示例 { "certificate_id" : "scs1554192131150" } 查询证书列表。 接口相关信息 URI格式:GET /v3/scm/certificates 详情请参见查询证书列表。 请求示例 GET: https://{endpoint}/v3/scm/certificates {endpoint}信息请从地区和终端节点获取。 Body: { "limit": "2", "offset": "0" } 响应示例 { "certificates" : [ { "id" : "scs1554192131150", "name" : "test", "domain" : "www.zx.com", "type" : "OV_SSL_CERT", "brand" : "GEOTRUST", "expire_time" : "2021-05-27 16:46:25.0", "domain_type" : "MULTI_DOMAIN", "validity_period" : 12, "status" : "ISSUED", "domain_count" : 2, "wildcard_count" : 0, "description" : null } ], "total_count" : 1 } 推送证书。 接口相关信息 URI格式:POST /v3/scm/certificates/{certificate_id}/push 详情请参见推送证书。 请求示例 POST: https://{endpoint}/v3/scm/certificates/scs1554192131150/push {endpoint}信息请从地区和终端节点获取。 响应示例 { } 或 { "error_code" : "SCM.XXX", "error_msg" : "XXX" }
  • 操作步骤 查询证书列表。 接口相关信息 URI格式:GET /v3/scm/certificates 详情请参见查询证书列表。 请求示例 GET: https://{endpoint}/v3/scm/certificates {endpoint}信息请从地区和终端节点获取。 Body: { "limit": "2", "offset": "0" } 响应示例 { "certificates" : [ { "id" : "scs1554192131150", "name" : "test", "domain" : "www.zx.com", "type" : "OV_SSL_CERT", "brand" : "GEOTRUST", "expire_time" : "2021-05-27 16:46:25.0", "domain_type" : "MULTI_DOMAIN", "validity_period" : 12, "status" : "ISSUED", "domain_count" : 2, "wildcard_count" : 0, "description" : null } ], "total_count" : 1 } 删除证书。 接口相关信息 URI格式:DELETE /v3/scm/certificates/{certificate_id} 详情请参见删除证书。 请求示例 DELETE: https://{endpoint}/v3/scm/certificates/scs1554192131150 {endpoint}信息请从地区和终端节点获取。 Body: { certificate_id:scs1554192131150 } 响应示例 { } 或 { "error_code" : "SCM.XXX", "error_msg" : "XXX" }
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM 项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 “√”表示支持,“x”表示暂不支持。 云证书管理服务 (CCM)支持的自定义策略授权项如下所示: SSL证书管理 私有证书管理
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用创建的用户进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见企业管理服务用户指南。 父主题: 使用前必读
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求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 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,同一个服务的Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见AK/SK认证。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,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": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
  • 请求示例 添加一个协调节点。 POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in14/action { "expand_cluster": { "coordinators": [ { "az_code": "az_code" } ] } } 添加多个协调节点。 POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in14/action { "expand_cluster": { "coordinators": [ { "az_code": "az_code" }, { "az_code": "az_code" }, { "az_code": "az_code" } ] } } 添加一个DN分片。 POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in14/action { "expand_cluster": { "shard": { "count": 1 } } } 扩容磁盘到400GB。 POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in14/action { "enlarge_volume": { "size": 400 } }
  • 请求消息 表2 参数说明 名称 是否必选 参数类型 说明 expand_cluster 否 Object CN横向扩容/DN分片扩容时必填。 详情请参见表3。 enlarge_volume 否 Object 扩容实例磁盘时必填。 所需扩容到的磁盘容量大小。 详情请参见表6。 is_auto_pay 否 String 包周期实例时可指定,表示是否自动从账户中支付,此字段不影响自动续订的支付方式。 true,表示自动从账户中支付。 false,表示手动从账户中支付,默认为该方式。 表3 expand_cluster字段数据结构说明 名称 是否必选 参数类型 说明 coordinators 否 Array of Coordinators objects CN扩容时必选。需要填写表4参数。 shard 否 Shard object DN分片扩容时必选。需要填写表5参数。 表4 coordinators参数填写说明 名称 是否必选 参数类型 说明 az_code 是 String 新增CN横向扩容每个节点的可用区。如果需要扩容多个CN,请分别填写待扩容CN所在的可用区。 不同区域的可用区请参考地区和终端节点。 表5 shard参数填写说明 名称 是否必选 参数类型 说明 count 是 Integer 新增DN分片的数量。 表6 enlarge_volume字段数据结构说明 名称 是否必选 参数类型 说明 size 是 Integer GaussDB 磁盘大小要求(分片数*4GB)的倍数;取值范围:(分片数*40GB)~(分片数*24TB)。
  • 请求示例 POST https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/d8e6ca5a624745bcb546a227aa3ae1cfin14/db-startup { "node_ids": [ "a4e6ca5a624745bcb546a227aa373kcfin14","b6e6ca5a624745bcb546a229si3ae1cfin14"] }
  • 请求示例 修改实例的参数failed_login_attempts的值为4。不需要重启。 PUT https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in14/configurations { "values": { "failed_login_attempts": "4" } } 修改实例的参数track_activity_query_size的值为2048,修改参数max_replication_slots的值为25。需要重启。 PUT https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dsfae23fsfdsae3435in14/configurations { "values": { "track_activity_query_size": "2048", "max_replication_slots": "25" } }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 upgrade_type 是 String 实例升级类型,区分大小写。包括就地升级,灰度升级,热补丁升级三种,三种升级方式的异同,详见接口描述。 inplace:就地升级。 grey:灰度升级。 hotfix:热补丁升级。 upgrade_action 否 String 实例升级操作,区分大小写。 实例升级类型是就地升级时非必选。 灰度升级包括升级自动提交、升级待观察、提交升级和升级回退四种。 热补丁升级包括升级自动提交,升级回退两种。 upgradeAutoCommit:升级自动提交 。 upgrade:升级待观察。 commit:提交升级。 rollback:升级回退。 target_version 否 String 实例升级目标版本。 热补丁升级场景下支持传入多个热补丁版本。 upgrade_shard_num 否 Integer 分布式实例灰度升级分片数。分布式实例灰度升级,升级待观察必填。该值不能大于实例未升级分片总数。 upgrade_az 否 String 灰度升级,升级待观察AZ值,升级待观察时必填。可以支持多AZ一起升级,AZ之间以英文逗号分割。不能填入不属于该实例的AZ值。
  • 请求示例 就地升级。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cc6fd964d93f4003851dfc29d57d30a5in14/db-upgrade { "upgrade_type" : "inplace", "target_version": "xxx" } 热补丁升级 实例热补丁升级。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cc6fd964d93f4003851dfc29d57d30a5in14/db-upgrade { "upgrade_type" : "hotfix", "target_version" : "xxxx,xxxx,xxxx", "upgrade_action" : "upgradeAutoCommit" } 实例热补丁升级回退。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cc6fd964d93f4003851dfc29d57d30a5in14/db-upgrade { "upgrade_type": "hotfix", "target_version": "xxxx,xxxx,xxxx", "upgrade_action": "rollback" } 灰度升级 实例执行灰度升级并采用升级自动提交升级方式升级。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cc6fd964d93f4003851dfc29d57d30a5in14/db-upgrade { "upgrade_type" : "grey", "target_version": "xxx", "upgrade_action" : "upgradeAutoCommit" } 实例执行灰度升级并采用升级待观察方式升级。 实例传入升级参数。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cc6fd964d93f4003851dfc29d57d30a5in14/db-upgrade { "upgrade_type" : "grey", "target_version": "xxx", "upgrade_action" : "upgrade", "upgrade_shard_num" : 1, } 实例处于升级待观察状态中,可进行升级回退,会回退全部已升级的分片,实例恢复正常后回退成功。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cc6fd964d93f4003851dfc29d57d30a5in14/db-upgrade { "upgrade_type" : "grey", "target_version": "xxx", "upgrade_action" : "rollback" } 实例处于升级待观察状态中,且全部分片都升级完成后,可进行升级提交。实例恢复正常后升级完成。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cc6fd964d93f4003851dfc29d57d30a5in14/db-upgrade { "upgrade_type" : "grey", "target_version": "xxx", "upgrade_action" : "commit" } 主备版实例灰度升级并采用升级待观察方式升级传参。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/instances/cc6fd964d93f4003851dfc29d57d30a5in14/db-upgrade { "upgrade_type" : "grey", "upgrade_action" : "upgrade", "target_version": "xxx", "upgrade_az" : "az1,az2" }
  • 功能介绍 GaussDB实例版本升级。包括就地升级,灰度升级,热补丁升级三种升级方式。 就地升级 就地升级需要停止业务进行,会一次性升级集群中所有节点。就地升级需要暂停业务30分钟来升级。 灰度升级 每个主DN或者CN组件升级就有一次10秒业务中断。升级过程均是先管理面,再数据面,由备到主的升级方式。灰度升级支持升级自动提交和升级待观察两种操作方式。 升级自动提交:所有节点进程一起升级,在升级过程中有大概10秒的业务中断,不阻塞其他业务操作。 升级待观察:升级待观察,将数据库升级过程细分为升级,提交两个阶段。 升级阶段可以根据部署方式细分为按分片或者按AZ的滚动升级。 分布式实例:根据分片数滚动升级。 主备版实例:根据AZ数进行滚动升级。 提交阶段可以对升级完成后的实例进行业务测试,根据需要可以选择提交升级或者升级回退。 提交升级:在升级完成进入提交阶段时,业务测试正常后提交升级,完成本次升级流程。 升级回退:在升级完成进入提交阶段时,可以根据需要回退本次升级,回退到升级前的版本。 热补丁升级 升级自动提交:热补丁自动升级并提交,中间无业务中断。 升级回退:热补丁回退,无业务中断时间。 调用接口前,您需要了解API 认证鉴权。 调用接口前,您需要提前获取到地区和终端节点,即下文中的Endpoint值。
  • 修订记录 发布日期 更新特性 2024-04-20 包含以下内容: 新增查询协调节点列表 新增查询磁盘自动扩容策略 新增查询可恢复时间段 新增创建慢日志下载信息 新增查询慢日志下载信息 新增查询实例可升级版本 新增实例内核版本升级 新增启动数据库 新增查询Top IO列表 新增删除实例标签 新增查询错误日志采集开关状态 新增查询错误日志下载链接 2023-12-30 包含以下内容: 新增修改实例名称。 修改查询回收站所有引擎实例列表,增加请求参数“engine_name”,“enterprise_project_name”,“backup_level”和“volume_size”。 2023-12-22 新增错误码DBS.200085。 2020-10-30 第一次正式发布。
  • 请求示例 创建一个GaussDB实例,实例部署形态为分布式独立部署,包周期付费(1年),引擎版本为2.7,三个不同可用区下,3个协调节点,3个分片,3个副本,规格为8U64G。 POST https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/054b61972980d4552f0bc00ac8d3f5cd/instances { "name": "user1-v3-independent-02", "datastore": { "type": "GaussDB", "version": "2.7" }, "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 120 }, "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab", "region": "aaa", "availability_zone": "bbb,ccc,ddd", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "charge_info": { "charge_mode": "prePaid", "period_type": "year", "period_num": 1 }, "password": "xxxxxx", "configuration_id": "", "enterprise_project_id": "", "time_zone": "UTC+08:00", "ha":{ "mode":"enterprise", "consistency":"strong", "replication_mode":"sync" }, "sharding_num": 3, "coordinator_num": 3, "replica_num": 3, "port":8000, "enable_force_switch":true } 创建一个GaussDB实例,实例部署形态为主备版高可用(1主2备),按需付费,引擎版本为2.7,同一可用区下,规格为8U64G。 POST https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/054b61972980d4552f0bc00ac8d3f5cd/instances { "name": "user1-v3-ha-01", "datastore": { "type": "GaussDB", "version": "2.7" }, "flavor_ref": "gaussdb.opengauss.ee.km1.2xlarge.arm8.ha", "volume": { "type": "ULTRAHIGH", "size": 120 }, "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab", "region": "aaa", "availability_zone": "bbb,bbb,bbb", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "charge_info": { "charge_mode": "postPaid", }, "password": "xxxxxx", "configuration_id": "", "enterprise_project_id": "", "time_zone": "UTC+08:00", "ha": { "mode": "centralization_standard", "consistency": "strong", "replication_mode": "sync" }, "replica_num": 3, "port": 8000, "enable_force_switch": true } 创建一个GaussDB实例,实例部署形态为主备版高可用(1主2备),包周期付费(1年),引擎版本为2.,三个不同可用区下,规格为8U64G。 POST https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3.1/054b61972980d4552f0bc00ac8d3f5cd/instances { "name": "user1-v3-ha-02", "datastore": { "type": "GaussDB", "version": "2.7" }, "flavor_ref": "gaussdb.opengauss.ee.km1.2xlarge.arm8.ha", "volume": { "type": "ULTRAHIGH", "size": 120 }, "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab", "region": "aaa", "availability_zone": "bbb,ccc,ddd", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "charge_info": { "charge_mode": "prePaid", "period_type": "year", "period_num": 1 }, "password": "xxxxxx", "configuration_id": "", "enterprise_project_id": "", "time_zone": "UTC+08:00", "ha": { "mode": "centralization_standard", "consistency": "strong", "replication_mode": "sync" }, "replica_num": 3, "port": 8000, "enable_force_switch": true }
  • 响应示例 创建一个GaussDB分布式独立部署,按需付费,引擎版本为2.7,同一可用区下,3个协调节点,3个分片,3个副本,规格为8U64G的实例: { "instance": { "id": "ad8cd1440aa94a02ae4580fcbebb3143in14", "name": "user1-v3-independent-01", "status": "BUILD", "datastore": { "type": "GaussDB", "version": "2.7" }, "ha": { "mode": "Enterprise", "replication_mode": "sync", "consistency": "strong" }, "port": "8000", "volume": { "type": "ULTRAHIGH", "size": 120 }, "replica_num": 3, "region": "aaa", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "enterprise_project_id": "0", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "availability_zone": "bbb,bbb,bbb", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "charge_info": { "charge_mode": "postPaid" } }, "job_id": "30f2790a-a5b6-4a13-a5ab-733c746609af" } GaussDB分布式部署形态,包周期付费(1年),引擎版本为2.7,三个不同可用区下,3个协调节点,3个分片,3个副本,规格为8U64G的实例响应: { "instance": { "id": "ad8cd1440aa94a02ae4580fcbebb3143in14", "name": "user1-v3-independent-02", "datastore": { "type": "GaussDB", "version": "2.7" }, "ha": { "mode": "Enterprise", "replication_mode": "sync", "consistency": "strong" }, "port": "8000", "volume": { "type": "ULTRAHIGH", "size": 120 }, "replica_num": 3, "region": "aaa", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "enterprise_project_id": "0", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "availability_zone": "bbb,bbb,bbb", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "charge_info": { "charge_mode": "prePaid", "period_type": "year", "period_num": 1, "is_auto_renew": false, "is_auto_pay": false } }, "job_id": "30f2790a-a5b6-4a13-a5ab-733c746609af" } GaussDB主备版高可用(1主2备),按需付费,引擎版本为2.7,同一可用区下,规格为8U64G的实例响应: { "instance": { "id": "ad8cd1440aa94a02ae4580fcbebb3143in14", "name": "user1-v3-ha-01", "status": "BUILD", "datastore": { "type": "GaussDB", "version": "2.7" }, "ha": { "mode": "Enterprise", "replication_mode": "sync", "consistency": "strong" }, "port": "8000", "volume": { "type": "ULTRAHIGH", "size": 120 }, "replica_num": 3, "region": "aaa", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "enterprise_project_id": "0", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "availability_zone": "bbb,bbb,bbb", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "charge_info": { "charge_mode": "postPaid" } }, "job_id": "30f2790a-a5b6-4a13-a5ab-733c746609af" } GaussDB主备版高可用(1主2备),包周期付费(1年),引擎版本为2.7,三个不同可用区下,规格为8U64G的实例响应: { "instance": { "id": "ad8cd1440aa94a02ae4580fcbebb3143in14", "name": "user1-v3-ha-02", "datastore": { "type": "GaussDB", "version": "2.7" }, "ha": { "mode": "Enterprise", "replication_mode": "sync", "consistency": "strong" }, "port": "8000", "volume": { "type": "ULTRAHIGH", "size": 120 }, "replica_num": 3, "region": "aaa", "backup_strategy": { "start_time": "17:00-18:00", "keep_days": 7 }, "enterprise_project_id": "0", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "availability_zone": "bbb,bbb,bbb", "vpc_id": "1f011c32-2de2-4aa8-a161-9498dbcef329", "subnet_id": "54a44bec-e36f-441e-86bb-d749ace9c189", "security_group_id": "c6123999-8532-421c-9db6-e078013ff58f", "charge_info": { "charge_mode": "prePaid", "period_type": "year", "period_num": 1, "is_auto_renew": false, "is_auto_pay": false } }, "job_id": "30f2790a-a5b6-4a13-a5ab-733c746609af" }
  • 响应参数 表8 响应参数 名称 参数类型 说明 instance Object 实例信息。 详情请参见表9。 job_id String 实例创建的任务ID。 仅创建按需实例时会返回该参数。 order_id String 订单号,创建包年包月时返回该参数。 表9 instance说明 名称 参数类型 说明 id String 实例ID。 name String 实例名称。用于表示实例的名称,同一租户下,同类型的实例名称可相同。 取值范围:4~64个字符之间,必须以字母开头,不区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 status String 实例状态。如BUILD,表示创建中。 仅创建按需实例时会返回该参数。 datastore Object 数据库信息。 详情请参见表10。 ha Object 数据库部署形态。 详情请参见表11。 replica_num Integer 实例副本数。 port String 数据库端口信息,与请求参数相同。 backup_strategy Object 自动备份策略。 详情请参见表12。 enterprise_project_id String 项目标签。 flavor_ref String 规格码,取值范围:非空。 volume Object volume信息。 详情请参见表13。 region String 区域ID。 availability_zone String 可用区ID。 vpc_id String 虚拟私有云ID。 subnet_id String 子网的网络ID信息。 security_group_id String 实例所属的安全组。 charge_info Object 付费方式信息。 详情请参见表14。 表10 datastore字段数据结构说明 名称 参数类型 说明 type String 数据库引擎,返回值如下: GaussDB version String 数据库版本。 表11 ha字段数据结构说明 名称 参数类型 说明 mode String GaussDB分布式模式支持取值:enterprise(企业版) ,主备版取值:centralization_standard,不区分大小写。 replication_mode String 备机同步参数。 取值: GaussDB为“sync”。 说明: “sync”为同步模式。 consistency String GaussDB的预留参数:指定事务一致性类型,取值范围: strong:强一致性。 eventual:最终一致性。 consistency_protocol String 指定副本一致性协议类型,取值范围:quorum |、paxos。不填时,默认为quorum。 表12 backup_strategy字段数据结构说明 名称 参数类型 说明 start_time String 备份时间段。自动备份将在该时间段内触发。 取值范围:非空,格式必须为hh:mm-HH:MM且有效,当前时间指UTC时间。 HH取值必须比hh大1。 mm和MM取值必须相同,且取值必须为整点。 取值示例: 08:00-09:00 23:00-00:00 如果请求体中不填写“backup_strategy”字段,则响应体中 “start_time”默认返回“02:00-03:00”。 keep_days Integer 指定已生成备份文件的可保存天数。 取值范围:1~732。如果请求体中不填写“backup_strategy”字段,则响应体中 “keep_days”默认填写为7天。 表13 volume字段数据结构说明 名称 参数类型 说明 type String 磁盘类型。 取值如下,区分大小写: ULTRAHIGH,表示SSD盘。 ESSD,表示极速云盘。 size Integer 磁盘大小。 表14 charge_Info字段数据结构说明 名称 参数类型 说明 charge_mode String 计费模式。 postPaid:后付费,即按需付费。 prePaid:预付费,即包年/包月。 period_type String 订购周期类型。month:包月。year:包年。说明:“charge_mode”为“prePaid”时生效,且为必选值。 枚举值: month year period_num Integer “charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围: 当“period_type”为“month”时,取值为1~9。当“period_type”为“year”时,取值为1~3。 is_auto_renew Boolean 创建包周期实例时可指定,表示是否自动续订,续订时会自动支付。 按月订购时续订周期默认为1个月,按年订购时续订周期默认为1年,续订周期可自定义修改。 true,表示自动续订。 false,表示不自动续订,默认为该方式。 is_auto_pay Boolean 创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 true,表示自动从账户中支付。 false,表示手动从账户中支付,默认为该支付方式。
  • URI DELETE https://{Endpoint}/v3/{project_id}/instances/{instance_id}/tag?key={key} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 instance_id 是 String 实例ID,严格匹配UUID规则。 表2 Query参数 参数 是否必选 参数类型 描述 key 是 String 标签键。
  • 响应示例 { "top_io_infos" : [ { "thread_id" : "55067", "thread_type" : "worker", "disk_read_rate" : 0, "disk_write_rate" : 1.43, "session_id" : "725", "unique_sql_id" : "3545025713", "database_name" : "postgres", "client_ip" : "23.100.74.131", "user_name" : "root", "state" : "active", "sql_start" : 1690448618689 } ] }
  • 请求示例 查询Top IO列表成功。 GET https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3/054b61972980d4552f0bc00ac8d3f5cd/instances/{instance_id}/top-io-traffics?node_id=42cbf784585e419d9eb33c005f4ced94no14&component_id=dn_6001&top_io_num=20&sort_condition=write
  • URI GET https://{Endpoint}/v3/{project_id}/instances/{instance_id}/top-io-traffics?node_id={node_id}&component_id={component_id}&top_io_num={top_io_num}&sort_condition={sort_condition} 表1 参数说明 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 instance_id 是 String 实例ID。 node_id 是 String 节点ID。节点应为CN或者非日志角色的DN节点,并且节点状态为正常。可通过接口查询实例的组件列表查询。 component_id 是 String 组件ID。组件应为CN或者非日志角色的DN组件。可通过接口查询实例的组件列表查询。 DN:Data Node,和CN对应的概念。负责实际执行表数据的存储、查询操作。 CN:Coordinator Node,负责数据库系统元数据存储、查询任务的分解和部分执行,以及将DN中查询结果汇聚在一起。 top_io_num 否 Integer 期望查询数据库进程下TOP IO线程数(默认值为20)。接口返回TOP IO线程与会话信息关联后的结果,数量最大不超过该值。 sort_condition 否 String TOP IO排序条件。 枚举值: read write
  • 响应参数 表2 参数说明 参数 参数类型 描述 top_io_infos Array of objects 列表中每个元素表示一个Top IO流量数据信息,详情参见表3。 表3 top_io_infos字段数据结构说明 参数 参数类型 描述 thread_id String 线程ID。 thread_type String 线程分类标识,取值:业务(worker)和后台(background)。需将GUC参数"enable_thread_pool"设置为on。 枚举值: worker background disk_read_rate Integer 从磁盘读取数据速率, 单位:KB/s。 disk_write_rate Integer 写入磁盘数据速率, 单位:KB/s。 session_id String 会话ID。 unique_sql_id String SQL ID。 database_name String 数据库。 client_ip String 客户端IP。 user_name String 用户名。 state String 状态。 sql_start Integer 语句开始时间。
共100000条