云服务器内容精选
-
请求示例 更新租户指定ID批量异步任务详情,任务模式为全量+增量,公网网络类型。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/batch-async-jobs/bd4193aa-072d-4ce6-beec-adffc7252341 { "jobs" : [ { "type" : "all", "params" : { "job_id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "base_info" : { "name" : "DRS-1234", "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "job_direction" : "up", "task_type" : "FULL_INCR_TRANS", "net_type" : "eip", "charging_mode" : "on_demand", "enterprise_project_id" : "0", "description" : "", "expired_days" : "14", "tags" : [ { "key" : "test", "value" : "test" } ] }, "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ], "alarm_notify" : { "alarm_to_user" : true, "topic_urn" : "urn:smn:cn-north-4:f2c2468c3ee7410c862a461ca073d2f2:test", "delay_time" : 60 }, "speed_limit" : [ { "begin" : "16:00", "end" : "15:59", "speed" : "10" } ], "policy_config" : { "ddl_trans" : false }, "db_object" : { "object_scope" : "table", "target_root_db" : { "db_name" : "target_db_name", "db_encoding" : "utf8" }, "object_info" : { "source_db1" : { "name" : "source_db1", "all" : false, "tables" : { "source_tb1" : { "type" : "table", "name" : "source_tb1", "all" : true }, "source_tb2" : { "type" : "table", "name" : "source_tb2", "all" : true } } } } }, "node_info" : { "spec" : { "node_type" : "medium" } } } }, { "type" : "endpoint", "params" : { "job_id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.227.134", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "id" : "f59e6118-da89-4fdb-9b98-65f56709928a", "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" }, "ssl" : { "ssl_link" : false } } ] } } ] }
-
响应示例 状态码: 202 Accepted { "jobs" : [ { "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "name" : "DRS-1234", "status" : "Success" }, { "id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "name" : "DRS-2345", "status" : "Failed", "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID" } ] } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
-
响应参数 状态码: 202 表35 响应Body参数 参数 参数类型 描述 jobs Array of objects 批量更新指定ID异步任务响应体。 详情请参见表36。 表36 jobs字段数据结构说明 参数 参数类型 描述 id String 任务ID。 name String 任务名称。 status String 操作结果。 error_code String 错误码。 error_msg String 错误描述。 状态码: 400 表37 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
-
响应示例 状态码: 200 OK { "name" : "DRS-mysql", "type" : "mysql", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root" }, "description" : "description", "connection_id" : "835e1d79-24ac-411d-a1c8-22c000280659", "ssl" : { "ssl_link" : false }, "create_time" : 1716879012121, "enterprise_project_id" : "0" } 状态码: 400 Bad Request { "error_code" : "DRS.10010065", "error_msg" : "Connection manager name is already exists." }
-
请求示例 创建一个MySQL连接示例。 https://{endpoint}/v5/5237e10fe9aa4ad5b16b6a5245248314/connections { "name" : "DRS-mysql", "db_type" : "mysql", "description" : "description", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root", "db_password" : "password" }, "ssl" : { "ssl_link" : false }, "enterprise_project_id" : "0" }
-
响应参数 状态码: 200 表9 响应Body参数 参数 参数类型 描述 connection_id String 连接ID。 name String 连接名称。 create_time Long 连接创建时间,格式为时间戳。 db_type String 连接类型。 config ConnectionConfig object 连接的配置项。 endpoint BaseEndpoint object 数据库基本信息。 vpc CloudVpcInfo object 数据库实例所在VPC,子网,安全组等信息。 ssl EndpointSslConfig object 数据库SSL证书信息。 表10 ConnectionConfig 参数 参数类型 描述 driver_name String 驱动程序名称。 表11 BaseEndpoint 参数 参数类型 描述 id String 数据库信息ID。 endpoint_name String 数据库场景类型。取值: oracle:云下自建Oracle数据库。 ecs_oracle:华为云E CS 自建Oracle数据库。 cloud_gaussdbv5:华为云数据库 GaussDB 分布式。 mysql:他云/本地自建MySQL数据库。 ecs_mysql:华为云ECS自建MySQL数据库。 cloud_mysql:华为云数据库RDS for MySQL。 redis:云下自建Redis数据。 ecs_redis:华为云ECS自建Redis数据。 rediscluster:云下自建Redis集群数据库。 ecs_rediscluster:华为云ECS自建Redis集群数据库。 cloud_gaussdb_redis:华为云数据库GeminiDB Redis。 postgresql: 云下自建PostgreSQL数据库。 ecs_postgresql: 华为云ECS自建PostgreSQL数据库。 cloud_postgresql: 华为云数据库RDS for PostgreSQL。 mongodb: 云下自建MongoDB数据库。 ecs_mongodb: 华为云ECS自建MongoDB数据库。 cloud_mongodb: 华为云文档数据库服务DDS。 ip String 数据库IP。约束:- 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或 域名 。- 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。- 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。示例:- MySQL:ip- MongoDB:ip:port,ip:port,ip:port- DDS:ip:port,ip:port - Redis集群:ip:port,ip:port db_port String 数据库端口。 约束:输入范围为1-65535之间的整数。 db_user String 数据库用户名。 db_password String 数据库密码。 instance_id String 华为云数据库实例ID。 instance_name String 华为云数据库实例名称。 db_name String 指定数据库名称。例如: oracle:serviceName.orcl。 source_sharding Array of BaseEndpoint objects 物理源库信息。 表12 CloudVpcInfo 参数 参数类型 描述 vpc_id String 数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id String 数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 security_group_id String 数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 表13 EndpointSslConfig 参数 参数类型 描述 ssl_link Boolean 是否SSL安全连接。如果数据库启用了SSL安全连接,参数值为true。 ssl_cert_name String SSL证书名字。 ssl_cert_key String SSL证书内容,用base64加密。 ssl_cert_check_sum String SSL证书内容checksum值,后端校验,源库安全连接必选。 ssl_cert_password String SSL证书密码,证书文件后缀为.p12时必填。 状态码: 400 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 X-Auth-Token 是 String 从 IAM 服务获取的用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 连接名称。 约束:连接名称在4位到50位之间,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。 db_type 是 String 连接类型,包含: mysql postgresql mongodb oracle config 否 ConnectionConfig object 连接的配置项,不同类型的连接配置项不同。 description 否 String 描述,长度不能超过255个字符。 endpoint 是 BaseEndpoint object 数据库连接基本信息。 vpc 否 CloudVpcInfo object 数据库实例所在VPC,子网,安全组等信息。 ssl 否 EndpointSslConfig object 数据库SSL证书信息。 cloud 否 CloudBaseInfo object 数据库实例所在Region,项目等信息。 enterprise_project_id 否 String 企业项目ID。 表4 ConnectionConfig 参数 是否必选 参数类型 描述 driver_name 否 String 驱动程序名称。 表5 BaseEndpoint 参数 是否必选 参数类型 描述 id 否 String 数据库信息ID。 endpoint_name 是 String 数据库场景类型。取值: oracle:云下自建Oracle数据库。 ecs_oracle:华为云ECS自建Oracle数据库。 cloud_gaussdbv5:华为云数据库GaussDB分布式。 mysql:他云/本地自建MySQL数据库。 ecs_mysql:华为云ECS自建MySQL数据库。 cloud_mysql:华为云数据库RDS for MySQL。 redis:云下自建Redis数据。 ecs_redis:华为云ECS自建Redis数据。 rediscluster:云下自建Redis集群数据库。 ecs_rediscluster:华为云ECS自建Redis集群数据库。 cloud_gaussdb_redis:华为云数据库GeminiDB Redis。 postgresql: 云下自建PostgreSQL数据库。 ecs_postgresql: 华为云ECS自建PostgreSQL数据库。 cloud_postgresql: 华为云数据库RDS for PostgreSQL。 mongodb: 云下自建MongoDB数据库。 ecs_mongodb: 华为云ECS自建MongoDB数据库。 cloud_mongodb: 华为云文档数据库服务DDS。 ip 否 String 数据库IP。约束:- 数据库为自建MongoDB时,数据库IP与端口之间用“:”英文冒号拼接,多个值之间请用“,”英文逗号隔开,最多支持填写3个IP地址或域名。- 数据库为DDS实例时,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔。- 数据库为Redis集群时,请填写源端Redis集群所有分片的IP地址和对应端口,数据库IP与端口之间用“:”英文冒号拼接,多个IP端口之间请用“,”英文逗号分隔,并且推荐填写集群分片的Slave节点的IP地址。最多支持填写32个IP地址或域名,多个值之间请用英文逗号隔开。示例:- MySQL:ip- MongoDB:ip:port,ip:port,ip:port- DDS:ip:port,ip:port - Redis集群:ip:port,ip:port db_port 否 String 数据库端口。 约束:输入范围为1-65535之间的整数。 db_user 是 String 数据库用户名。 db_password 是 String 数据库密码。 instance_id 否 String 华为云数据库实例ID。 instance_name 否 String 华为云数据库实例名称。 db_name 否 String 指定数据库名称。例如: oracle:serviceName.orcl。 source_sharding 否 Array of BaseEndpoint objects 物理源库信息。 表6 CloudVpcInfo 参数 是否必选 参数类型 描述 vpc_id 是 String 数据库实例所在的虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id 是 String 数据库实例所在子网ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 security_group_id 否 String 数据库实例所在的安全组ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 表7 EndpointSslConfig 参数 是否必选 参数类型 描述 ssl_link 否 Boolean 是否SSL安全连接。如果数据库启用了SSL安全连接,参数值为true。 ssl_cert_name 否 String SSL证书名字。 ssl_cert_key 否 String SSL证书内容,用base64加密。 ssl_cert_check_sum 否 String SSL证书内容checksum值,后端校验,源库安全连接必选。 ssl_cert_password 否 String SSL证书密码,证书文件后缀为.p12时必填。 表8 CloudBaseInfo 参数 是否必选 参数类型 描述 region 是 String 区域ID,当数据库实例类型为ecs(华为云ECS自建数据库),cloud(华为云数据库)时为必填项。获取方法请参见地区和终端节点。 注意:当该Region下存在子项目时,Region ID为区域项目ID与子项目ID,由“_”下划线拼接,例如:cn-north-4_abc。 project_id 是 String 租户在某一Region下的Project ID。 获取方法请参见获取项目ID。 az_code 否 String 数据库所在可用分区(AZ)名称。
-
引擎类型说明 DRS各引擎类型对应取值可参考引擎类型说明。 表1 引擎类型说明 引擎类型(engine_type) 说明 对应源数据库取值(db_type) 对应目标数据库取值(db_type) mysql MySQL到MySQL迁移、MySQL到MySQL同步场景使用。 mysql mysql mongodb MongoDB到DDS迁移场景使用。 mongodb mongodb redis-to-gaussredis Redis迁移到GeminiDB Redis,实时迁移场景使用。 redis gaussredis rediscluster-to-gaussredis Redis集群迁移到GeminiDB Redis,实时迁移场景使用。 rediscluster gaussredis cloudDataGuard-mysql MySQL到MySQL灾备场景使用。 mysql mysql gaussdbv5 GaussDB分布式到GaussDB分布式版同步场景使用。 gaussdbv5 gaussdbv5 mysql-to-kafka MySQL到Kafka同步场景使用。 mysql kafka taurus-to-kafka GaussDB(for MySQL)到Kafka同步场景使用。 taurus kafka gaussdbv5ha-to-kafka GaussDB主备版到Kafka同步场景使用。 gaussdbv5ha kafka postgresql PostgreSQL到PostgreSQL同步场景使用。 postgresql postgresql oracle-to-gaussdbv5 Oracle到GaussDB分布式版同步场景使用。 oracle gaussdbv5 父主题: 附录
-
请求参数 表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
-
请求示例 查询任务详情请求示例: https://{endpoint}/v3/054ba152d480d55b2f5dc0069e7ddef0/jobs/batch-detail { "jobs" : [ "24834eb6-be30-464e-a299-f7aa730jb101", "140b5236-88ad-43c8-811c-1268453jb101" ], "page_req" : { "cur_page" : 1, "per_page" : 10 } }
-
请求示例 批量查询任务状态示例: 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获取任务ID 任务ID还可通过调用批量创建任务API创建任务后获取。 创建任务成功后,响应示例如下,其中的“id”即为任务ID。 { "results" : [ { "id" : "e11eaf8f-71ef-4fad-8890-aed7572ajb11", "name" : "DRS-9228", "status" : "CREATING", "create_time" : "1599188556112" } ], "count" : 1 }
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格