华为云用户手册

  • 步骤2:查询分支列表 接口信息: URI:GET v1/repositories/{repository_id}/branches API Explorer在线调试请参见: 查询某仓库对应的分支。 请求示例: GET https://codehub-ext.cn-north-7.myhuaweicloud.com/v1/repositories/522140/branches 响应示例: { "result": { "total": 1, "branches": [ { "name": "master", "is_protected": false } ] }, "status": "success"}
  • 步骤1:查询用户的所有仓库 接口信息: URI:GET v2/projects/repositories API Explorer在线调试请参见:查询用户的所有仓库。 请求示例: GET https://codehub-ext.cn-north-7.myhuaweicloud.com/v2/projects/repositories 响应示例: { "result": { "total": 40, "repositories": [ { "star": false, "status": 5, "userRole": null, "repository_uuid": "25c88b23d4dc400fa7b3e2a152e4d53c", "repository_id": 522140, "repository_name": "1111111111111", "ssh_url": "git@codehub.devcloud.cn-north-208.ulanqab.huawei.com:testzxq00001/1111111111111.git", "https_url": "https://codehub.devcloud.cn-north-208.ulanqab.huawei.com/testzxq00001/1111111111111.git", "group_name": "testzxq00001", "web_url": "https://devcloud.cn-north-208.ulanqab.huawei.com/codehub/522140/home", "visibility_level": 0, "created_at": "2020-07-22 10:45:56", "updated_at": "2020-07-22 10:45:56", "repository_size": "0.16M", "lfs_size": "0.00M", "creator_name": "devcloud_codehub_l00314597_01", "domain_name": "devcloud_codehub_l00314597_01", "is_owner": 1, "iam_user_uuid": "a618e34bd5704be3ae3395dfede06041", "project_uuid": "a689e057c2304abfa35d4ff65630a90a", "project_is_deleted": "false" } ] }, "status": "success"}
  • SDK列表 表1提供了FunctionGraph服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 .NET huaweicloud-sdk-net-v3 .Net SDK使用指导 Node.js huaweicloud-sdk-nodejs-v3 Node.js SDK使用指导
  • API接口与SDK的对应关系 介绍FunctionGraph服务提供的API接口与SDK的对应方式,请参考表2。 表2 API接口与SDK的对应关系 API接口名称 对应SDK中的方法名称(不区分编程语言) 同步执行函数 invoke_function 异步执行函数 async_invoke_function 获取依赖包列表 list_dependencies 创建依赖包 create_dependency 删除依赖包 delete_dependency 获取指定依赖包 show_dependency 更新指定依赖包 update_dependency 获取测试事件列表 list_events 创建测试事件 create_event 删除测试事件 delete_event 获取测试事件详细信息 show_event 更新测试事件 update_event 查询租户配额 list_quotas 获取指定时间段的函数运行指标 list_function_statistics 租户函数统计信息 list_statistics 更新触发器 update_trigger 获取函数列表 list_functions 创建函数 create_function 删除函数/版本 delete_function 获取指定函数的所有版本别名列表 list_version_aliases 创建函数版本别名 create_version_alias 删除函数版本别名 delete_version_alias 获取函数版本的指定别名信息 show_version_alias 修改函数版本别名信息 update_version_alias 获取指定函数代码 show_function_code 修改函数代码 update_function_code 获取函数的metadata show_function_config 修改函数metadata信息 update_function_config 获取函数的版本列表 list_function_versions 发布函数版本 create_function_version 设置函数预留实例数量 update_function_reserved_instances 设置指定函数某一版本的异步配置信息 update_function_async_invoke_config 获取指定函数某一版本的异步配置信息 show_function_async_invoke_config 删除指定函数某一版本的异步配置信息 delete_function_async_invoke_config 获取指定函数所有版本的异步配置列表 list_function_async_invoke_config 删除指定函数的所有触发器 batch_delete_function_triggers 获取指定函数的所有版本别名列表 list_version_aliases 创建触发器 create_function_trigger 删除触发器 delete_function_trigger 获取指定触发器的信息 show_function_trigger
  • 虚拟私有云 虚拟私有云(Virtual Private Cloud,简称VPC)是用户在云服务平台上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。 ROMA Connect运行于VPC内,由虚拟私有云协助管理IP和带宽。用户在创建ROMA Connect实例时,需要关联VPC、子网和安全组。如果要为实例开启公网访问,还需要为实例绑定弹性IP地址。
  • 分布式消息服务 Kafka 分布式消息服务 Kafka(Distributed Message Service for Kafka,简称Kafka)是一款基于开源社区版Kafka提供的消息队列服务,是一个拥有高吞吐、可持久化、可水平扩展,支持流式数据处理等多种特性的分布式消息流处理中间件。 ROMA Connect可以使用Kafka作为数据集成任务的源端和目标端,也可以使用Kafka作为LINK转发规则的目的端,把设备上报的数据转发到Kafka。
  • 副本 为了提高消息的可靠性,Kafka的每个分区会有多个副本,对消息进行冗余备份。分区在每个副本存储一份全量数据,副本之间的消息数据保持同步。分区挑选一个副本作为Leader,该分区所有消息的生产与消费都在Leader上完成,消息从Leader副本复制到其他副本(Follower)。 Kafka的主题是一个逻辑概念,分区与副本属于物理概念。下图通过消息的生产与消费流向,解释了Kafka的分区、副本与主题间的关系。 图1 Kafka消息流
  • 集团应用与数据集成 集团企业完成子公司与集团总部之间、集团与外部合作伙伴之间的集成面临这些瓶颈: 地域差异 集团总部和集团子公司、合作伙伴所处的地域不同,时区不同,降低了数据的时效性和可靠性。 云服务差异 集团总部和集团子公司、合作伙伴使用的云服务不一样,调用不同的云服务存在困难。 网络差异 集团总部和集团子公司、合作伙伴使用的网络不一样,公网、专网、VPN之间的对接难度很高。 ROMA Connect助力集团企业完成子公司与集团总部之间、集团与外部合作伙伴之间集成,如图1所示,ROMA Connect提供的场景方案包括: 跨域集成:集团总部、集团子公司、合作伙伴分布在不同的地域,将各自的设备信息、数据、消息传输到ROMA Connect, 由ROMA Connect执行设备信息可视化、监控告警、数据转换、消息传输等操作,打通地域限制,实现区域业务集成自治,集团信息共享,保障业务集成可靠性。 跨云集成:服务集成APIC将SaaS应用和其他第三方云应用转换成API接口,企业通过调用这些API接口,整合不同的云应用,确保云上的业务间无缝对接。 跨网集成:基于ROMA Connect实现与合作伙伴业务系统跨网安全对接。企业将合作伙伴所需数据和信息上传到ROMA Connect,根据合作伙伴的要求转换数据格式,集成数据。企业完成数据和消息的集成之后,合作伙伴可以访问ROMA Connect获取相关信息。 图1 集团应用与数据集成 通过ROMA Connect完成集团应用与数据集成会给企业带来这些优势: 构建统一管理多个云服务和云应用的平台,简化管理流程,帮助企业实现数字化转型。 实现集团总部、集团分公司、合作伙伴之间的信息共享。 支撑大规模集成业务,分布式部署,可自动扩展,低延时,保障业务性能与高可靠性。 父主题: 应用场景
  • 工业互联网集成 制造业数字化转型中有几类典型问题: 难以集成设备数据与环境数据 多品牌、多种类的生产设备要实现实时监控管理,则设备数据与环境数据需要采集和上传,不同品牌和种类的设备,使用的数据格式、数据库标准不一。 难以预防设备故障 工厂流水线上,任何一台机器出现故障,会对整条流水线产生巨大的影响。 难以优化企业的生产策略和决策 因为收集到的数据格式不一,给数据分析带来了难度,所以企业难以根据数据对已有的生产策略进行优化,也很难决定是否启用新的生产策略。 ROMA Connect的数据采集、集成以及借助企业级大数据分析解决方案,助力制造业向物联网集成转型,最终达成“智”造愿景。 设备数字化与统一集成 ROMA Connect使用MQTT、网关等多种方式协议连接各种类型设备与企业后台,实现企业后台与设备双向通讯。 故障预测与告警 在控制台上集成所有设备的信息,进行实时监控和预警分析,一旦设备的参数出现异常,ROMA Connect会在控制台上生成告警信息,提醒负责人对相应的设备进行维修;设备实时状态数据偏离正常运行的数据区间,可及时提醒设备保养检修。 数据转换与分析 ROMA FDI服务将工业SaaS产生的数据导入至ROMA Connect,收集并传输到MapReduce服务,帮助企业进行大数据分析,优化生产策略。 图1 工业互联网集成 父主题: 应用场景
  • 智慧园区集成 园区的智能化管理存在诸多难题: 个性化定制的管理系统阻碍信息采集和信息共享。 例如园区内建筑之间的结构存在差异,企业通过对管理各建筑的子系统进行个性化定制,可以收集到每个建筑中的所有信息。但是个性化定制之后,子系统之间的差异会对信息采集与共享造成阻碍,不能有效的传输信息,降低园区智能化的水平。 设备多样化,数据采集复杂,难以实现系统联动。 例如车辆出入管理、访客登记、园区资产管理等,由于数据采集和集中的复杂性,难以进行联动管理。 重要设备状态不能远程实时监控,无法做到预警。 例如路灯故障,传统园区需要人工保障,被动式维修。 ROMA Connect拥有设备、数据、以及服务等全套集成解决方案,助力企业打造智慧园区: 高效对接多设备、多厂商 摄像头、闸机、空调等不同厂商设备的信息,使用MQTT标准化协议接入LINK组件,同时LINK对接多个IoT平台,省去各平台分别收集数据的冗余工作。 打造数据底座,提供标准数据服务 将所有的数据,使用ROMA FDI与MQS组件进行快速集成,并开放给企业不同后端的服务。比如闸机设备系统的车辆数据,资产管理系统的设备状态、路灯系统的开关与设备信息等等,数据以实时或者异步批量的方式传输给后端服务,用作分析与联动管理。 同时,ROMA Connect的高度可扩展性设计,支撑园区海量的数据传输与存储,提升数据传输效率。 融合IT、OT、AI,构建智能运营中心 由于ROMA Connect打通了数据集成与共享的通道,企业可以借助企业级人工智能、视频分析、大数据云服务等解决方案,打造真正的智慧园区大脑。 集中+分布式的架构支撑园区业务 大型园区管理企业往往涉及众多园区,ROMA Connect的集中+分布式架构帮助企业将众多园区之间的数据集成到同一平台,协助企业根据实际情况进行分布式与集中式相结合的运营管理方式。 图1 智慧园区集成 父主题: 应用场景
  • 配额限制 配额是指用户在ROMA Connect实例中可创建的资源数量限制,具体的资源配额限制如下表所示。 在高并发情况下会出现略超最大配额数限制的情况,不影响资源的正常使用。 表1 实例资源配额限制 组件 资源 最大配额(个) 是否支持修改配额 集成应用 集成应用 100 暂不支持 数据源 数据源 500 暂不支持 数据集成 FDI 数据集成任务数 1000 暂不支持 服务集成 APIC API 入门版:100 基础版:250 专业版:800 企业版:2000 铂金版:8000 支持 API分组 1500 支持 单个API分组内的API 入门版:100 基础版:250 专业版:800 企业版:2000 铂金版:5000 支持 单个API分组内的环境变量 50 支持 流量控制策略 300 支持 访问控制策略 100 支持 环境 10 支持 签名密钥 200 支持 负载通道 200 支持 单个负载通道内的弹性云服务器 10 支持 自定义认证 50 支持 自定义后端 入门版:50 基础版:125 专业版:400 企业版:1000 铂金版:4000 支持 客户端配额策略 20000 支持 设备集成LINK 产品模板 100 支持 产品 500 支持 设备 1000 支持 规则 2000 不支持
  • LINK 设备集成(LINK)是ROMA Connect的设备集成组件。设备集成使用MQTT标准协议连接设备,帮助企业快速、简单地实现设备云端管理。 例如工业场景中,设备的信息和生产过程中的参数比较分散。生产线出现故障时,如果靠人工采集每一台设备的信息与参数,定位问题的过程缓慢。设备集成能够连接设备和IT系统、大数据平台,将设备的运行状态等信息上传到IT系统或大数据平台,实现所有设备的信息可视化,一旦生产线出现故障,企业能够快速定位问题。通过配置LINK的规则引擎,把设备参数的极限值输入到设备引擎里面,如果设备的实时参数一直在向极限值接近,就发出告警信息,提醒用户停止设备,对设备进行维护和保养。 表4 LINK功能 功能 简介 发布和订阅消息 LINK支持标准的MQTT协议,企业可以使用开源的标准MQTT设备端SDK将设备轻松接入云端,进行消息的发布和订阅。 实现设备与后端各应用的消息互通 用户可以在控制台配置规则引擎实现设备与其他设备、后端、其他云服务的消息互通。 LINK支持规则引擎转发数据到消息集成MQS。第三方服务通过MQS服务获取数据,实现设备与第三方服务的异步消息通信。 支持海量设备低延时接入 LINK支持Broker水平扩展,支持百万设备长连接。 支持设备与应用之间的双向同步 LINK支持物模型定义,模型与设备影子绑定。用户可以基于设备影子实现设备与应用之间配置数据、状态数据的双向同步。 一方面,用户可以通过API将配置参数设置到设备影子里,设备在线或上线时,都可以从设备影子获取配置参数。另一方面,设备可以将最新状态上报到设备影子。用户查询设备状态时,只需查询设备影子,而不必与设备进行直接网络通信。 保证信息传输的安全 LINK提供设备、应用授权认证及Topic的双向绑定授权,保障设备安全与唯一性,提供TLS标准的数据传输通道保障消息传输通道的安全。
  • FDI 快速数据集成FDI(Fast Data Integration,简称FDI)是ROMA Connect的数据集成组件。FDI支持多种数据源(文本、消息、API、关系型数据和非关系型数据等)之间的灵活、快速、无侵入式的数据集成,可以实现跨机房、跨数据中心、跨云的数据集成方案,并能自助实施、运维、监控集成数据。 例如集团企业场景中,企业与合作伙伴使用的数据源不一样,难以形成企业之间有效的信息传输。FDI提供了多种数据源之间转换的方式,支持MySQL、Kafka、API等主流格式之间的转换。 表1 FDI功能 功能 简介 数据集成任务的生命周期管理 FDI支持修改数据集成任务的信息、查看数据集成任务的运行报告、查看数据集成任务的运行日志、查看数据集成任务状态,完成数据集成任务的生命周期管理功能。 灵活的数据读写 支持 MySQL、文本文件、消息、API等多种数据的分片读取和写入。 如果服务意外中断 ,修复服务之后FDI支持自动修复任务。 支持任务调度、任务监控、任务中断续读。 可靠的数据传输通道 FDI可以持续监测数据通道中的数据,支持100个以上的线程并发执行。FDI实时监测消息队列把数据实时写入目标队列。 任务调度 FDI提供全面、灵活、高可用的任务调度服务,支持通过API或以消息方式进行数据集成。按照时间、数据数量等任务触发规则来调度任务。根据任务配置,为插件分配任务,并监控和记录任务的执行状态。 企业根据不同的业务需求,可以选择不同的数据集成方式: 实时增量集成适用于需要实时监控数据变化的业务场景,例如收集生产线上设备的实时参数。 实时全量集成适用于需要实时监控所有历史数据的业务场景,例如统计供应商合作伙伴的出货量。 定时增量集成适用于监控一段时间内数据变化的业务场景,例如企业采用新的生产策略后,验证生产效率是否达到预期效果。 定时全量集成适用于监控一段时间内所有历史数据的业务场景,例如统计上下班高峰期内出入园区的车辆数目。 监控告警 对创建的数据集成任务的运行情况进行监控,并对异常的任务进行处理,保证业务正常运行。
  • APIC 服务集成APIC(API Connect,简称APIC)是ROMA Connect的API集成组件。APIC将数据和后端服务以API形式开放,简化分享数据或提供服务的过程,降低企业之间对接的成本。APIC提供不同语言的SDK和示例代码,简化企业以API形式开放后端服务的过程。 例如集团与各地区子公司的IT系统集成,直接访问对方各类数据库方式过于复杂,且容易发生信息泄露风险,如果以API方式互相开放访问,同时加强API调用安全防护,就能实现跨网络跨地域协同办公。 表2 APIC功能 功能 简介 API生命周期管理 APIC提供包括API的创建、发布、下线和删除的完整生命周期管理功能。 便捷调试工具 APIC提供页面调试工具,简化API开发,降低API的维护成本。 版本管理 一个API可以发布不同的版本到不同的环境,以满足业务版本升级等需求。 流量控制 用于管控API的请求频率、用户的请求频率和应用的请求频率。 流量控制的时间单位可以是秒、分钟、小时或天。允许设置特殊的应用,不受到流量控制策略的影响。 监控统计 提供实时、可视化的API监控,包括:API请求次数、API调用错误信息。 环境变量 当API发布到不同环境时,一般通过在API调用的请求头增加指定的头部参数及特殊取值区分不同的环境。发布过程中变量标识会根据环境的变量值进行替换,保证API本身定义不变。 自定义后端 包括自定义Data API与自定义Function API。 自定义Data API指企业将数据库作为API后端服务接入APIC,将数据服务能力转换为REST接口的能力。 自定义Function API,类似简化版的函数服务,在APIC后端编写自定义脚本或函数,作为API后端服务,供前端统一调用。
  • MQS 消息集成(Message Queue Service,简称MQS)是ROMA Connect的消息集成组件。MQS支持Kafka协议,使用统一的消息接入机制,为企业提供跨网络访问的安全、标准化消息通道。 例如企业与合作伙伴使用的消息系统不一样,消息系统对接成本较高,而且难以保证对接之后消息传输的可靠性和安全性。企业之间可以约定使用Kafka通信协议,那么MQS可以作为消息中转站,提供安全、可靠的消息传输通道。企业创建多个topic,设置每个合作伙伴订阅topic的权限,然后将消息发布到多个topic中。合作伙伴通过订阅topic,获取topic内的消息。 表3 MQS功能 功能 简介 原生Kafka基础功能 MQS除了支持客户端连接后管理Topic和发布订阅消息,还支持在ROMA Connect控制台可视化操作,包括Topic创建和管理、用户管理与权限设置、消息查询等功能。 监控报警 MQS从实例、节点、Topic、消费组等多个维度,设立了不同监控指标,数据上报云监控服务,企业可以在云监控服务的管理控制台查看相关监控数据。MQS支持企业配置告警规则,轻松实现监控数据概览与异常告警。 消息查看 MQS提供了可视化的消息查询功能,可在界面查看Topic中存储的消息数据,可以更直观方便的查看消息正文。
  • 概述 欢迎使用数据复制服务(Data Replication Service,简称DRS)。数据复制服务是一种易用、稳定、高效、用于数据库在线迁移和数据库实时同步的云服务。数据复制服务是通过创建任务,以任务作为数据库迁移的导向。 您可以使用本文档提供的API对数据复制任务进行相关操作,如创建、获取详情、获取列表、删除等。支持的全部操作请参见API概览。 在调用数据复制服务API之前,请确保已经充分了解数据复制服务的相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
  • DRS授权分类 “√”表示支持,“x”表示暂不支持。 表1 任务功能 权限 对应API接口 授权项(Action) IAM项目(Project) 企业项目(Enterprise Project) 批量创建任务 POST /v3/{project_id}/jobs/batch-creation drs:migrationJobs:create(创建实例需要在项目上配置 RDS ReadOnlyAccess、VPC FullAccess、SMN FullAccess权限。) √ √ 批量结束和删除任务 DELETE /v3/{project_id}/jobs/batch-jobs drs:migrationJobs:delete(结束和删除实例需要在项目上配置 RDS ReadOnlyAccess、VPC FullAccess、SMN FullAccess权限。) √ √ 批量测试连接 POST /v3/{project_id}/jobs/batch-connection drs:migrationJobs:connect(测试连接需要在项目上配置 VPC FullAccess权限。) √ √ 批量数据库对象选择信息 PUT /v3/{project_id}/jobs/batch-select-objects drs:migrationJobs:select(对象选择信息需要在项目上配置 RDS FullAccess、DAS FullAccess) √ √ 批量查询rpo和rto POST /v3/{project_id}/jobs/batch-rpo-and-rto drs:dataGuardJob:list √ √ 批量主备倒换 POST /v3/{project_id}/jobs/batch-switchover drs:disasterRecoveryJob:switchover √ √ 批量测试连接-集群模式 POST /v3/{project_id}/jobs/cluster/batch-connection drs:migrationJobs:connect(测试连接需要在项目上配置 VPC FullAccess权限。) √ √ 批量预检查 POST /v3/{project_id}/jobs/batch-precheck drs:migrationJob:action √ √ 批量查询预检查结果 POST /v3/{project_id}/jobs/batch-precheck-result drs:migrationJob:get √ √ 批量设置任务限速 PUT /v3/{project_id}/jobs/batch-limit-speed drs:migrationJobs:update √ √ 批量获取数据库参数 POST /v3/{project_id}/jobs/batch-get-params drs:databaseParameters:get √ √ 批量续传/重试 POST /v3/{project_id}/jobs/batch-retry-task drs:migrationJob:action √ √ 批量暂停任务 POST /v3/{project_id}/jobs/batch-starting drs:migrationJob:action √ √ 批量修改任务 PUT /v3/{project_id}/jobs/batch-modification drs:migrationJob:modify √ √ 批量修改源库/目标库密码 PUT /v3/{project_id}/jobs/batch-modify-pwd drs:migrationJobs:update √ √ 批量设置definer POST /v3/{project_id}/jobs/batch-replace-definer drs:migrationJob:updateJobConfig √ √ 批量创建对比任务 POST /v3/{project_id}/jobs/batch-create-compar drs:migrationCompareJob:create √ √ 批量查询对比结果 POST /v3/{project_id}/jobs/batch-compare-result drs:CompareJob:getResult √ √ 批量查询任务进度 POST /v3/{project_id}/jobs/batch-progress drs:migrationJobs:getProgress √ √ 查询租户任务列表 POST /v3/{project_id}/jobs DRS ReadOnlyAccess √ √ 查询容灾监控数据 POST /v3/{project_id}/jobs/disaster-recovery-monitoring-data drs:disasterRecoveryJob:get √ √ 批量查询灾备初始化进度 POST /v3/{project_id}/jobs/batch-struct-process drs:disasterRecoveryJob:get √ √ 批量查询灾备初始化对象详情 POST /v3/{project_id}/jobs/{type}/batch-struct-detail drs:disasterRecoveryJob:get √ √ 批量更新迁移用户信息 PUT /v3/{project_id}/jobs/batch-update-user drs:migrationJob:modifyUserInfo √ √ 修改数据库参数 POST /v1.0/{projectId}/jobs/{jobId}/params drs:dataBaseParams:modify(配置 RDS ReadOnlyAccess、VPC FullAccess、SMN FullAccess,DAS FullAccess权限。) √ √ 批量数据加工 POST /v3/{project_id}/jobs/batch-transformation drs:migrationJob:action √ √ 批量启动任务 POST /v3/{project_id}/jobs/batch-starting drs:migrationJob:action √ √ 批量查询任务详情 POST /v3/{project_id}/jobs/batch-detail drs:migrationJob:get √ √ 批量查询任务状态 POST /v3/{project_id}/jobs/batch-status drs:migrationJob:get √ √ 父主题: 权限策略和授权项
  • 通过API获取任务ID 任务ID还可通过调用批量创建任务API创建任务后获取。 创建任务成功后,响应示例如下,其中的“id”即为任务ID。 { "results" : [ { "id" : "e11eaf8f-71ef-4fad-8890-aed7572ajb11", "name" : "DRS-9228", "status" : "CREATING", "create_time" : "1599188556112" } ], "count" : 1}
  • 终端节点 终端节点(Endpoint)即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询服务的终端节点。 数据复制服务API当前支持的Region如表1和表2所示,请您根据业务需要选择对应区域的终端节点。 表1 数据复制服务v5 API当前支持的Region 区域名称 区域 终端节点(Endpoint) 协议类型 华南-深圳 cn-south-2 drs.cn-south-2.myhuaweicloud.com HTTPS 华南-广州-友好用户环境 cn-south-4 drs.cn-south-4.myhuaweicloud.com HTTPS 表2 数据复制服务v3 API当前支持的Region 区域名称 区域 终端节点(Endpoint) 协议类型 华北-北京一 cn-north-1 drs.cn-north-1.myhuaweicloud.com HTTPS 华北-北京二 cn-north-2 drs.cn-north-2.myhuaweicloud.com HTTPS 华北-北京四 cn-north-4 drs.cn-north-4.myhuaweicloud.com HTTPS 华北-乌兰察布一 cn-north-9 drs.cn-north-9.myhuaweicloud.com HTTPS 华东-上海一 cn-east-3 drs.cn-east-3.myhuaweicloud.com HTTPS 华东-上海二 cn-east-2 drs.cn-east-2.myhuaweicloud.com HTTPS 华南-广州 cn-south-1 drs.cn-south-1.myhuaweicloud.com HTTPS 华南-深圳 cn-south-2 drs.cn-south-2.myhuaweicloud.com HTTPS 西南-贵阳一 cn-southwest-2 drs.cn-southwest-2.myhuaweicloud.com HTTPS 拉美-圣地亚哥 la-south-2 drs.la-south-2.myhuaweicloud.com HTTPS 拉美-圣保罗一 sa-brazil-1 drs.sa-brazil-1.myhuaweicloud.com HTTPS 非洲-约翰内斯堡 af-south-1 drs.af-south-1.myhuaweicloud.com HTTPS 中国-香港 ap-southeast-1 drs.ap-southeast-1.myhuaweicloud.com HTTPS 亚太-新加坡 ap-southeast-3 drs.ap-southeast-3.myhuaweicloud.com HTTPS 亚太-曼谷 ap-southeast-2 drs.ap-southeast-2.myhuaweicloud.com HTTPS 亚太-雅加达 ap-southeast-4 drs.ap-southeast-4.myhuaweicloud.com HTTPS 土耳其-伊斯坦布尔 tr-west-1 drs.tr-west-1.myhuaweicloud.com HTTPS 父主题: 使用前必读
  • 响应参数 状态码: 200 表8 响应Body参数 参数 参数类型 描述 results Array of objects 批量数据加工响应列表。 详情请参见表9。 count integer 总数。 表9 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 状态。取值: success failed error_code String 错误码。 error_msg String 错误信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of objects 批量数据加工规则请求列表。 详情请参见表4。 表4 jobs字段数据结构说明 参数 是否必选 参数类型 描述 job_id 否 String 任务ID。 object_info 否 Array of objects 对象信息,生成加工规则时需要填写。 详情请参见表5。 transformation_info 是 Object 加工信息。 详情请参见表6 config_transformation 否 Object 配置信息,如果存在多张关联表,请生成多条配置规则。满足配置条件的数据将暂存到缓存中,在数据过滤的场景进行使用。 配置的库名和表名支持数字、字母和下划线。 配置的列名、主键、索引,请确保与源库配置表的字段名保持大小写一致。 详情请参见表7。 表5 object_info字段数据结构说明 参数 是否必选 参数类型 描述 id 否 String 数据库名称和数据库表名称,例如格式为lxl_test1-*-*-test_1,其中lxl_test1为数据库名称,test_1为表名称。 select 否 String 是否选择高级配置,值为true。 表6 transformation_info字段数据结构说明 参数 是否必选 参数类型 描述 transformation_type 是 String 生成加工规则值为contentConditionalFilter。 生成配置规则值为configConditionalFilter。 取值: contentConditionalFilter configConditionalFilter value 是 String 过滤条件,生成加工规则值为sql条件语句,生成配置规则值为config。长度限制256。 表7 config_transformation字段数据结构说明 参数 是否必选 参数类型 描述 db_table_name 是 String 库名.表名,例如格式为lxl_test1.test_1,其中lxl_test1为库名,test_1为表名。 db_name 是 String 库名。长度限制256。 table_name 是 String 表名。长度限制256。 col_names 是 String 列名。长度限制256。 prim_key_or_index 是 String 主键或唯一索引。长度限制256。 indexs 是 String 优化查询所需的索引。长度限制256。 values 是 String 过滤条件。长度限制256。
  • 状态码 状态码如表1所示: 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 200 OK 请求成功。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token的接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • 请求示例 批量查询任务状态示例: https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-status{ "jobs" : [ "9a470239-2308-4bb5-a6bc-1040402fjb21", "dc67695a-ee3e-49b8-a022-a099bd81jb21" ], "page_req" : { "cur_page" : 1, "per_page" : 10 }}
  • 响应示例 状态码: 200 OK { "results" : [ { "id" : "9a470239-2308-4bb5-a6bc-1040402fjb21", "status" : "INCRE_TRANSFER_STARTED" }, { "id" : "dc67695a-ee3e-49b8-a022-a099bd81jb21", "status" : "INCRE_TRANSFER_FAILED" } ], "count" : 2}
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 results Array of objects 任务状态信息。 详情请参见表6。 count Integer 返回任务数量。 表6 results字段数据结构说明 参数 参数类型 描述 id String 任务ID。 status String 任务状态。 CREATING:创建中 CREATE_FAILED:创建失败 CONFIGURATION:配置中 STARTJOBING:启动中 WAITING_FOR_START:等待启动中 START_JOB_FAILED:启动失败 PAUSING:已暂停 FULL_TRANSFER_STARTED:全量开始,灾备场景下为初始化 FULL_TRANSFER_FAILED:全量失败,灾备场景下为初始化失败 FULL_TRANSFER_COMPLETE:全量完成,灾备场景下为初始化完成 INCRE_TRANSFER_STARTED:增量开始,灾备场景下为灾备中 INCRE_TRANSFER_FAILED:增量失败,灾备场景下为灾备异常 RELEASE_RESOURCE_STARTED:结束任务中 RELEASE_RESOURCE_FAILED:结束任务失败 RELEASE_RESOURCE_COMPLETE:已结束 REBUILD_NODE_STARTED:故障恢复中 REBUILD_NODE_FAILED:故障恢复失败 CHANGE_JOB_STARTED:任务变更中 CHANGE_JOB_FAILED:任务变更失败 DELETED:已删除 CHILD_TRANSFER_STARTING:再编辑子任务启动中 CHILD_TRANSFER_STARTED:再编辑子任务迁移中 CHILD_TRANSFER_COMPLETE:再编辑子任务迁移完成 CHILD_TRANSFER_FAILED:再编辑子任务迁移失败 RELEASE_CHILD_TRANSFER_STARTED:再编辑子任务结束中 RELEASE_CHILD_TRANSFER_COMPLETE:再编辑子任务已结束 NODE_UPGRADE_START:升级开始 NODE_UPGRADE_COMPLETE:升级完成 NODE_UPGRADE_FAILED:升级失败 枚举值: CREATING CREATE_FAILED CONFIGURATION STARTJOBING WAITING_FOR_START START_JOB_FAILED PAUSING FULL_TRANSFER_STARTED FULL_TRANSFER_FAILED FULL_TRANSFER_COMPLETE INCRE_TRANSFER_STARTED INCRE_TRANSFER_FAILED RELEASE_RESOURCE_STARTED RELEASE_RESOURCE_FAILED RELEASE_RESOURCE_COMPLETE REBUILD_NODE_STARTED REBUILD_NODE_FAILED CHANGE_JOB_STARTED CHANGE_JOB_FAILED DELETED CHILD_TRANSFER_STARTING CHILD_TRANSFER_STARTED CHILD_TRANSFER_COMPLETE CHILD_TRANSFER_FAILED RELEASE_CHILD_TRANSFER_STARTED RELEASE_CHILD_TRANSFER_COMPLETE NODE_UPGRADE_START NODE_UPGRADE_COMPLETE NODE_UPGRADE_FAILED error_code String 错误码。 error_message String 错误信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of strings 批量查询任务详情。 page_req 否 Object 分页信息。 详情请参见表4。 表4 page_req字段数据结构说明 参数 是否必选 参数类型 描述 cur_page 否 Integer 当前页, 不能超过传入jobID数量除每页任务数量的最大页。 最小值:1 缺省值:1 per_page 否 Integer 每页item数量,填0获取全部item。 最小值:0 最大值:100 缺省值:5
  • API概览 数据复制服务所提供的接口为REST(Representational State Transfer)风格API。通过使用DRS接口,您可以使用DRS的所有功能,包括创建迁移任务、获取任务详细信息、获取迁移任务列表、删除迁移任务等。 表1 v3接口说明 类型 子类型 说明 DRS接口 v3 配额 提供配额查询接口。 DRS接口 v3 公共接口管理 包括创建任务、测试连接、预检查、查询任务详情、查询任务进度、创建对比任务、删除、重试、结束任务等公共接口。 DRS接口 v3 实时迁移管理 包括更新迁移用户信息、获取源库迁移用户列表接口。 DRS接口 v3 实时同步管理 包括数据加工、设置同步策略接口。 DRS接口 v3 实时灾备管理 包括主备倒换、查询RPO和RTO、查询容灾监控数据、灾备初始化进度等接口。 表2 v5接口说明 类型 子类型 说明 DRS接口 v5 资源管理 提供可用链路信息查询接口。 DRS接口 v5 实例管理 包括创建任务、查询任务列表、更新任务、和删除任务等公共接口。 DRS接口 v5 批量异步实例管理 包括创建异步任务、提交异步任务、查询异步任务列表、更新异步任务等批量操作公共接口。 DRS接口 v5 实例数据库对象配置 包括查询数据库对象信息和文件导入对象相关接口。 DRS接口 v5 实例详情 提供任务详情查询接口。 DRS接口 v5 实例操作 提供任务操作接口。
  • 请求示例 MySQL实时迁移任务首次启动预检查 https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-precheck{ "jobs" : [ { "job_id" : "140b5236-88ad-43c8-811c-1268453jb101", "precheck_mode" : "forStartJob" } ]}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 指定类型为application/json。 缺省值:application/json X-Auth-Token 是 String 从IAM服务获取的用户Token,请参见认证鉴权。 X-Language 否 String 请求语言类型。 缺省值:en-us 取值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 jobs 是 Array of objects 批量预检查请求列表。 详情请参见表4。 表4 jobs字段数据结构说明 参数 是否必选 参数类型 描述 job_id 是 String 任务ID。 precheck_mode 是 String 预检查模式。取值: forStartJob:任务配置中,首次启动时传该值。 forRetryJob:任务增量中,编辑对象后预检查,或者任务失败后重试,传该值。 说明: 请按照任务对应的状态传值,否则可能导致预检查失败,影响任务启动。
共100000条