华为云用户手册

  • 签名密钥 签名密钥由一对Key和Secret组成,用于后端服务验证API网关代理的身份,在API网关代理请求后端服务时,保障后端服务的安全。 当签名密钥绑定API后,API网关代理向后端服务发送此API的请求时,会增加相应的签名信息,此时,后端服务依照同样方式进行签名并得到签名结果,如果签名结果和API网关代理传过来的Authorization头中的签名一致,则可证明API请求确实来自API网关代理,而不是其他伪造请求。
  • 服务韧性 API中心提供了4级可靠性架构,通过全局部件跨Region容灾、Region部件跨AZ容灾、AZ内集群容灾、数据库主备容灾,保障服务的持久性与可靠性。 表1 API中心可靠性架构 可靠性方案 简要说明 跨Region容灾 全局级部件支持跨Region容灾,当主Region异常后,全局业务可以切换到备Region继续运行。 双AZ容灾 Region级部件实现跨AZ双活,一个AZ异常时不影响云服务持续提供服务。 AZ内集群容灾 通过集群提供服务,集群中每个微服务都有多个实例,当一个或部分实例异常时,其他实例可以持续提供服务。 数据容灾 数据存储在RDS服务中,RDS实现了AZ容灾方案,数据持续会同步到容灾站点,当生产站点的RDS异常后,容灾站点可以接管业务,保障云服务持续运行。 父主题: 安全
  • 产品功能 表1 API中心功能概览 功能名称 功能描述 发布区域 API设计和测试 API开发者可使用API中心工具库中的API生产工具(如华为云API Arts),进行API的设计、测试等。 华北-北京四 服务商入驻 API开发者可在线申请入驻成为API中心的服务商。 华北-北京四 API资产管理 API中心服务商可在API中心管理控制台管理API资产。 华北-北京四 API网关代理 API中心服务商可使用API中心的网关代理模块,进行API注册、发布,并支持配置流控策略、访问控制、签名密钥等策略来限制对API的访问。 华北-北京四 API门户 API中心门户汇聚展示千行百业API,为应用开发者提供统一的API搜索查找入口,并通过智能搜索和推荐,帮助开发者快速找到所需API。 华北-北京四 在线调测 应用开发者可在API门户的API详情页进行API在线调测,快速试用API。 说明: API是否支持调测,取决于伙伴服务商上架API资产时是否提供了相关试用调测环境。部分API暂未提供调测能力。具体功能以API详情页面展示的为准。 华北-北京四 API凭证获取 对于技术开放型API,应用开发者可根据API使用指南中的指定方式或者联系 API服务 商获取API调用凭证。 对于商业售卖型API,应用开发者可根据页面引导前往云商店通过购买获得API调用凭证。 华北-北京四
  • 涉及敏感信息或个人隐私数据的API,应提供数据传输和存储过程中的安全机制 本条规则是MUST类型的基本规则,可保障API的安全合规。 API接口参数传输和存储过程中,敏感信息和个人隐私数据禁止明文传输和存储,避免造成敏感信息或个人隐私数据泄露。敏感信息和个人隐私数据包括: 密码、AK/SK、Token等身份凭据。 密钥。 个人信息,如身份证号码、银行卡信息、家庭住址、健康信息等。 人与人之间的私人消息,如短信、电话通信内容。
  • 目的 主要用于指导伙伴、开发者在华为云API中心生产和开放API。通过统一的API治理框架和规范,帮助伙伴、开发者构建并提供有质量保障的API服务,为平台营造良好能力开放与交互的环境,支撑华为云和伙伴及开发者共建API生态。 API治理规范主要从安全、可用性、易用性、可维护性,生命周期管理六个维度针对API生产(API设计/开发/测试)和API开放提供规则建议。 安全:对API的安全认证、涉及敏感信息或个人隐私数据使用和处理提出规范要求或建议,保障API的安全合规。 可用性:对API调用成功率、响应时长、并发及流量控制、吞吐量等提出规范要求或建议,保障API的高可用性。 易用性:对API参考文档描述、入参和出参、消息头定义等提出规范要求或建议,提升API调用者使用体验。 可维护性:对于API兼容性、日志实时性和完整性、版本管理等提出规范要求或建议,提升API可维护性。 生命周期管理:对API变更和下线等提出规范要求或建议,保障已订阅API租户的业务连续性。 包含Must类型的基本规则以及Should类型的扩展规则。Must规则牵引API开发者提供符合企业级标准、安全合规的API,Should规则在提供更全面指导的基础上,给予开发者灵活的弹性空间,方便开发者更快地加入API生态圈。
  • API请求URI中如果存在特殊字符,需要进行转义编码 本条规则是MUST类型的基本规则,可保障API的高可用性。 某些字符,由于有特殊含义或者系统保留,容易被 Web应用防火墙 或者安全访问控制产品所阻断,导致URI调用不生效,因此不建议在URI中使用,如果必须要用需要用转义编码替换。 转义说明可参考:RFC 2396(Uniform Resource Identifiers (URI): Generic Syntax)。
  • API请求设置媒体类型和编码格式,响应内容格式需与响应设置媒体类型和编码格式一致 本条规则是MUST类型的基本规则,可保障API的高可用性。 在API请求中对媒体类型和编码格式的正确定义有助于服务端对请求体进行格式校验,避免出现因请求消息体格式错误导致的执行异常。 API响应内容格式需要与响应设置媒体类型和编码格式一致。在API响应中对媒体类型和编码格式的正确定义有助于服务端对请求体进行格式校验,避免出现因请求消息体格式错误导致的执行异常。 API的默认媒体类型为“Content-Type: application/json”和“charset=UTF-8”。 当使用非application/json媒体类型时,建议根据情况选择合适的媒体格式,具体情况如表2所示。 表2 常见的媒体类型 分类 场景 媒体类型 文件上传/下载类 文件上传下载类的接口,直接传递的是文件内容。 须知: 不建议使用该API进行文件传输。 application/octet-stream 表单提交 主要用于界面表单提交,该方法目前已经不属于主流提交手段,建议使用JSON格式进行表单提交。 application/x-www-form-urlencoded 混合多部分类型 传递混合多部分内容类的接口,比如既有文本内容,表单内容,也有二进制文件的。 multipart/form-data SOAP协议 调用以SOAP协议的WebService。 text/xml或application/xml 纯文本类型 仅传递纯文本内容。 text/plain
  • API响应状态码应使用规范的HTTP状态码 本条规则是MUST类型的基本规则,可保障API的高可用性。 API响应所使用的状态码应使用规范的HTTP状态码,状态码所表达的状态与API响应状态保持一致。 具体的HTTP状态码使用可参考RFC 7231(Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content),常用状态码如表1所示。 表1 常用状态码 状态码 状态码表示 状态码详细信息 200 OK 执行成功,如:查询成功响应。 201 Created 创建成功,如:创建记录成功。 400 Bad Request 客户端请求语义有误,当前请求无法被服务器理解或请求参数有误。 401 Unauthorized 当前请求需要用户验证,需要用户提供Token进行认证。 403 Forbidden 禁止访问某些资源,如权限不足时无法查询对应的信息。 404 Not Found 无法找到对应资源,如资源不存在。 405 Method Not Allowed HTTP方法不能被用于请求相应的资源如:HTTP方法要求POST方法,请求中使用了GET方法。 406 Not Acceptable 请求资源的内容特性无法满足请求头中的条件。 413 Payload Too Large 请求提交的实体数据大小超过了服务器够处理的范围。 414 URI Too Long 请求的URI长度超过了服务器能够解释的长度。 415 Unsupported Media Type 当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式。 500 Internal Server Error 服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。通常是服务器内部产生了错误,导致处理失败。 502 Bad Gateway 代理服务器尝试执行请求时,从上游服务器接收到无效的响应。
  • API文档按照模板进行写作 本条规则是Should类型的扩展规则,可提升API调用者的使用体验。 API对外开放时,API文档建议使用统一的模板,以便保持API参考文档的一致性,易于开发者理解。在API参考文档中必须包含如下内容: API目录,包括本次提供API的列表信息。 API名称及API功能介绍。 API请求方法和URI。 API请求参数说明,包括Header、Query参数,需要明确字段内容和取值范围。 API请求Body内容,Body内容需要明确请求结构体内容及各个字段的取值范围。 API响应状态码,状态码及对应的说明。 API响应参数说明包括Header参数,需要明确字段内容和取值范围。 API正常响应Body内容,正常响应Body内容需要明确响应结构体内容及各个字段的取值范围。 API异常响应Body内容,异常响应Body中描述及说明。
  • API名称必须易于理解、见名知义 本条规则是Should类型的扩展规则,可提升API调用者的使用体验。 API名称要简洁、易于理解、见名知义,建议按照“动词+名词”格式。 在生产环境的API不能包含“test、uat、sit、beta”等字样,API名称只支持中文、字母、数字以及“_”或者"-",API名称长度建议不超过150字符。 例如:易于理解的API名称应为“查询虚拟机列表”/“ListServers”、“创建VPC网络”/“CreateVPC”
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS各类各项云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类各项云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • API使用合适的认证模式 本条规则是Should类型的扩展规则,可提升API的安全性。 根据具体业务场景,选择API调用的认证模式,具体说明如表1所示。 表1 认证模式说明 认证模式 认证描述 AppKey 在API请求Header或者Query中携带AppId和AppKey用于进行身份认证,该认证方法直接传递密钥,在使用过程中需要使用HTTPS协议保证传输安全。 签名认证 请求Header或者Query中携带请求签名、请求时间和应用身份进行身份认证,该认证方法对请求中URI、HTTP方法、AppId、SignKey、请求时间等采用HMAC-SHA256进行计算,在API请求过程中不会直接传递SignKey,同时对请求时间进行有效校验,避免重复请求攻击。 动态Token API请求可使用AppId及AppKey向Token服务器换取动态Token,在动态Token有效期内,在API请求Header中携带Token进行身份认证,由于在换取Token过程中传递AppKey,因此换取Token需要使用HTTPS协议保证传输安全。
  • API商业变现 当前面临的主要问题 API商业变现方式不够灵活。 缺少多维度的数据分析支撑。 API中心解决方案 API中心协同华为云云商店为API构建灵活多样的商业闭环路径,并提供API调用次数、API调用者等数据分析能力。 直接变现:API开发者完成API设计/开发/测试后,可以将API注册在华为云生态网关,然后在华为云云商店上架API商品并 定价 售卖,实现直接售卖API并获得商业收益。 间接变现:API能力开放给应用开发者,供其在应用开发和集成中调用。应用生产出来后,可在华为云云商店上架SaaS等应用类型商品,实现API的间接变现,获得商业收益。
  • API响应报文使用分页,避免超长列表数据返回 本条规则是Should类型的扩展规则,可提升API调用者的使用体验。 获取资源集合的API建议支持分页。当资源数量较多时服务的查询API需要支持分页,避免一次查询获取的资源数量过多。 不支持分页查询,则服务应该要设置一个显示条数的默认值,避免一次返回过多资源。默认返回数量需要在接口参考中对外说明,避免调用者以为查询出了全量信息。查询条件中可以设定查询数量(limit),位移量(offset)。查询资源列表需要返回符合查询条件的资源总数(count)、查询数量(limit)、位移量(offset)。 举例:查询虚拟机从第10条开始,查询后100条。 请求 GET /ecs/v1/projects/xxxxx/servers?offset=10&limit=100 响应 {"resources":[ { "id":"xxx",},… { "id":"xxx", }], "offset":10, "limit":100, "count":1540}
  • API描述信息必须易于理解,表述准确 本条规则是Should类型的扩展规则,可提升API调用者的使用体验。 API描述信息要易于理解,字面表述准确,能说明API的用途,场景及约束。 API描述信息建议使用Markdown格式编写,便于生成对应API文档,API描述信息长度建议不超过2000字符。 例如:发布API用于查询虚拟机列表。良好的API描述应为“通过虚拟机名称、IP地址、虚拟机型号查询当前租户下的虚拟机列表,列表包括虚拟机名称,所属VPC、虚拟机IP、虚拟机型号、操作系统版本。”
  • REST REST(Representational State Transfer,表征状态转移)网络上的所有事物都可被抽象为资源,每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识,所有的操作都是无状态的,使用标准方法操作资源。 RESTful风格的服务接口需定义:操作名、URL、请求和响应消息体和响应状态码。 本文后续章节将分别描述接口各部分的定义规范。
  • 约束与限制 API中心的使用限制如下: 创建API资产:每个用户最多可以创建50个API资产。 API网关代理:API网关代理使用限制如表1所示。 表1 API网关代理使用限制 限制项 限制值 API分组数量 每个用户最多可以创建50个API分组。 独立 域名 数量 每个分组最多可以绑定5个独立域名。 API数量 每个用户最多可以创建200个API。 后端策略数量 每个API最多可以创建5个后端策略(不包含默认后端策略)。 凭据数量 每个用户最多可以创建50个凭据。 流量控制策略数量 每个用户最多可以创建15个流量控制策略。 签名密钥策略数量 每个用户最多可以创建5个签名密钥。 访问控制策略数量 每个用户最多可以创建5个访问控制策略。 环境数量 每个用户最多可以创建5个环境(包含默认的RELEASE环境)。 环境变量数量 每个分组在任意一个环境中,最多可以创建50个环境变量。 负载通道数量 每个用户最多可以创建10个VPC通道,每个负载通道最多可以添加10个服务器。 参数数量 每个API最多可以创建50个参数。 发布历史数量 同一个API在每个环境中最多记录10条最新的发布历史。 每个API的访问频率 不大于200次/秒。 特殊应用 每个流控策略最多可以创建30个特殊应用。 特殊租户 每个流控策略最多可以创建30个特殊租户。 子域名访问次数 每个子域名每天最多可以访问1000次。 调用请求包的大小 API每次最大可以调用12M的请求包。 TLS协议 支持TLS1.1和TLS1.2,推荐使用TLS1.2。 本章描述的“用户”指的都是华为云账号。 如果API网关代理当前的配额限制无法满足您的需求,您可以向系统提交工单申请更多配额。
  • API请求HTTP动词使用标准化且满足幂等性 本条规则是Should类型的扩展规则,可提升API的可维护性。 HTTP方法的需要符合幂等性的约束,幂等性的约束是指一次和多次请求某一个资源应该具有同样的副作用,单个资源操作,资源的标准CRUD操作对应的HTTP动词如表1所示。 表1 HTTP动词 方法 描述 幂等性 POST 适用于新建资源场景,以及CRUD无法表达的操作场景(Non-CRUD)。 否 GET 用于获取资源的场景,必须具备安全性。 是 PUT 如果操作的URL为一个新资源,则创建该资源。如果URL为一个已存在的资源,则替换该资源,传入的消息体需包含被替换资源的完整信息。如果传递的信息不完整,在服务实现端需提供对应信息的默认值。 是 DELETE 用于删除资源的场景。 是 HEAD 返回资源的元信息比如:ETag和Last-Modified之类的信息。 是 PATCH 用于部分更新资源的场景,如果使用PUT操作所需输入的整体资源信息内容大小与PATCH操作无太大差异,优先使用PUT操作,不推荐使用PATCH操作。 是 OPTIONS 获取当前资源支持哪些方法的信息。 是 例如:使用正确的HTTP动词。 “查询虚拟机列表”:GET /servers “创建VPC网络”:POST /vpc “删除虚拟机标签”:DELETE /server/tag “创建/更新数据库实例元数据”:PUT /instance/metadata
  • API建议明确标识出版本号 本条规则是Should类型的扩展规则,可提升API的可维护性。 每个API建议带上版本号,保证API的版本显性化,容易被API调用者所识别。版本号建议放置在URI中,用于显性标识所请求的API版本。 服务所提供的API版本定义统一规范成“vX”,这里X是一个正整数如:v1,v2等,要在API版本文档中明确在接口中说明清楚哪个版本号是目前服务主推的版本,哪些版本是支持但已经不推荐的版本,方便API调用者通过该接口快速了解与跟进服务API的变化。如果无法在URI中进行API版本标识,则可在HTTP Header中进行API版本标识。 例如:应用A提供API查询虚拟机列表GET /servers,可在URI上进行版本标识,如GET /v1/servers,GET /v2/servers,同时提供相关的API文档说明不同版本之间的区别。
  • API需要保持向后兼容性 本条规则是MUST类型的基本规则,可保障API的可维护性。 现网API版本一般保留3个版本或以下,如果超过3个版本会增加API本身的维护量,建议对旧版本API进行下线处理。 服务端API改动必须保证所有的服务消费者不被破坏。API是服务端和客户端的契约,不能单方面破坏契约。通过如下的方式来保证向后的兼容性: 遵循兼容扩展标准。 忽略请求/响应中的未知字段。 只添加可选字段,不能添加必选字段。 不能更改字段的含义。 当资源URL发生变化的时候,支持重定向。 服务端提供新版本API的同时,需要对老版本API提供支持。 例如:应用A更新API查询虚拟机列表,增加多个新的查询条件。在API发布之后,之前订阅该API的应用不能因为增加了新的查询条件而造成查询虚拟机列表失败。
  • API接口变更在参考文档中为新版本提供迁移计划 本条规则是Should类型的扩展规则,可方便管理API的生命周期。 在进行新版本API设计时应当考虑老版本升级迁移计划,从而实现API的迁移。新版本中继承的接口在语义上应当能兼容老版本。 对于计划不再支持的接口,需要正式发布接口变更公告,应当至少提前6个月在文档标识(使用@deprecated)为不建议使用(在此期间该接口仍要能完成正常的功能),并提供替换方式的处理。 新版本API为兼容旧版本,增加的字段不建议作为强制填写的字段,字段取值范围不建议小于原有的取值范围。
  • API文档记录API接口变更 本条规则是Should类型的扩展规则,可方便管理API的生命周期。 API接口的变更,要具体到参数级别,必须将API修订的记录按照时间和版本顺序排列进行条目化,具体示例如表1所示。 表1 API修订记录 时间 版本 变更内容 2021-07-15 V1.0 XXX服务API初始发布 2021-09-20 V1.1 XXX的API,增加XXX字段,用于XXXX功能;增加XXX字段,用于XXX功能。 XXX的API,增加XXX字段,用于XXX功能。
  • 明确API吞吐量与并发量 本条规则是Should类型的扩展规则,可提升API的可用性。 在API的设计阶段需要对单位时间可处理的能力进行设计,指标包括吞吐量和并发量。 吞吐量(TPS)是指服务在单位时间内处理请求的数量,使用单位时间为秒。 并发量是指服务可以同时承载的正常使用系统功能的用户的数量。 服务API的最大吞吐量/并发量与承诺的服务吞吐量/并发量需要100%吻合。当发现无法达到承诺的吞吐量/并发量时,API提供方应从架构上通过扩容等手段提升吞吐量和并发量。
  • 前提条件 因MTD服务添加的情报/白名单是从OBS桶添加至MTD服务,因此在MTD服务添加情报/白名单时,需要添加的情报/白名单对象文件需已上传至OBS桶中,OBS桶上传对象操作详情请参见上传文件。 由于MTD添加的情报/白名单仅支持Plaintext格式,因此OBS桶上传的对象需按照Plaintext格式编写。Plaintext格式编写详情请参见如何编辑Plaintext格式的对象?。 情报:也称作黑名单,指受访问时被禁止的IP或域名。
  • 告警类型详情 威胁检测服务目前支持3种检测方式,分别是威胁情报、规则基线、AI引擎,详情如表2所示。涵盖68种告警类型。 单条告警根据计算方式和风险系数结果存在单个告警等级或多个告警等级。 表2 检测方式详情 检测方式 检测描述 检测数据源及数量 AI引擎 利用机器学习挖掘陌生访问行为来发现陌生行为是否存在潜在威胁。 IAM 日志:8种 DNS日志:2种 规则基线 遵循已有标准的、固定的规则对日志进行检测。 OBS日志:11种。 威胁情报 基于三方收集的历史有效情报对日志信息进行关联性分析检测,三方情报每天更新一次。 IAM日志: 22种 CTS 日志:5种 VPC日志:12种 DNS日志:11种
  • 迁移评估 数据库迁移上云前需要进行充分地评估和验证。 根据待迁移数据的现状和未来业务规模,分类进行评估和准备,详细信息如表1所示。 表1 迁移前评估和准备 评估项 说明 迁移数据量与DDM、RDS的实例规格 关于源数据库数据拆分,建议采用先垂直拆分,后水平拆分的方式。 对于源MySQ L实例 数据库表占用存储空间,可执行如下SQL语句评估。 select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB')as data from information_schema.TABLES; 建议对数据行数超过1000万行(或者预计超过1000万行)的表进行分片,设计为拆分表。 单RDS实例存储不超过500GB。 源数据库每张表对应逻辑库和逻辑表信息 以表为单位,细化每张源表映射对应逻辑表信息,如记录数、逻辑表类型、所属逻辑库、所属DDM实例和关联RDS实例等。 如果已经有RDS(MySQL)且DDM逻辑库选择非拆分库,则只需要在创建逻辑库时关联该RDS(MySQL)实例即可,不涉及表结构和表数据的迁移。 兼容性 检查源数据库和目标实例的MySQL版本号一致。 目标实例的实例规格和存储空间等原则上不低于源数据库。 检查源数据库和目标实例的表结构和字符集等一致。 “拆分算法”为“hash”的逻辑表单次迁移记录数不超过1000万条;“拆分算法”为“range”的逻辑表单次迁移记录数不超过500万条。 对于数量过大的表可以采用分批导出导入,通过mysqldump指定参数where条件来限定每批的记录数。 导入DDM只支持导入的SQL文本文件含有标准的DML插入语句。 评估应用程序SQL语句在DDM中的兼容性。 迁移前需要收集相关信息,帮助您更好的完成迁移,详细信息如表2所示。 表2 迁移前信息收集 迁移源/目标 信息项 源RDS实例 RDS实例连接地址 RDS实例侦听端口 数据库用户 数据库名称 数据库表名 目标DDM实例 DDM实例连接地址 DDM实例侦听端口 DDM实例用户名 DDM关联RDS实例上创建的数据库名称 新建RDS实例连接地址 新建RDS实例侦听端口 RDS实例用户名 数据库名称 弹性云服务器 弹性IP地址 系统登录用户/密码 父主题: 数据迁移
  • 语法说明 暂不支持以空字符串作为别名。 不支持select ... group by ... with rollup查询(当查询的表为分片表时,无法得到预期的结果)。 暂不支持STRAIGHT_JOIN和NATURAL JOIN。 select for update仅支持简单查询,不支持join、group by、order by、limit。 select后输出字段要和表字段顺序保持一致,如果JOIN查询,将所有参与JOIN的字段都添加到select后的查询字段列表中,这样能提升SELECT查询效率。 对于UNION中的每个SELECT, DDM 暂不支持使用多个同名的列。 例如: 如下SQL的SELECT中存在重复的列名。 SELECT id, id, name FROM t1 UNION SELECT pk, pk, name FROM t2;
  • 常用语法 SELECT[ALL | DISTINCT | DISTINCTROW ]select_expr[, select_expr ...][FROM table_references [WHERE where_condition][GROUP BY {col_name | expr | position} [ASC | DESC], ...][HAVING where_condition] [ORDER BY {col_name | expr | position} [ASC | DESC], ...][LIMIT {[offset,] row_count | row_count OFFSET offset}]
  • 操作步骤 登录 分布式数据库 中间件控制台。 在实例管理列表页面,单击目标实例名称,进入实例基本信息页面。 在左侧导航栏选择“逻辑库管理”,查看对应实例逻辑库列表。 在逻辑库列表页面,选择目标逻辑库,操作列单击“删除”。 在删除确认弹窗中,单击“是”。 请勿直接在数据节点列表删除和DDM逻辑库关联的实例,会直接导致逻辑库故障。 如需删除数据节点上的数据,请在删除逻辑库的弹窗中勾选“删除数据节点上的数据”。 如果您想删除逻辑库,请首先确认数据节点是否存在。如果实例已删除,请先单击“同步DN信息”,再进行删除操作。 如果您所连接的数据节点有名称、引擎、引擎版本号、最大连接数max_connections、端口号、IP等信息的修改,不需要删除逻辑库,只需单击“同步DN信息”同步最新配置。
  • 操作步骤 连接DDM实例。 连接方法具体请参考连接DDM实例。 打开dml_test_1逻辑库。 use dml_test_1; 输入命令创建全局序列。 create sequence seq_test; 使用以下语句,实现全局序列在insert语句或者replace语句的使用。 insert into test_seq(col1,col2)values(seq_test.nextval,seq_test.currval); 打开dml_test_2逻辑库。 use dml_test_2; 使用以下语句,实现全局序列在insert语句或者replace语句的使用。 insert into test_seq(col1,col2)values(dml_test_1.seq_test.nextval,dml_test_1.seq_test.currval); 由于全局序列是创建在逻辑库“dml_test_1”下的,在逻辑库“dml_test_2”下使用全局序列需要显式指定逻辑库“dml_test_1.seq_test.nextval”、“dml_test_1.seq_test.currval”。 全局序列结合insert和replace的使用只支持拆分表,不支持广播表和单表。 nextval和currval在insert和replace语句中是从左到右执行的,如果一条语句使用同一个全局序列nextval多次,每出现一次就递增一次。 全局序列是属于逻辑库的,删除逻辑库,所在删除逻辑库的全局序列也会被删除。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全