华为云用户手册

  • 响应示例 { "resCode": "0", "resMsg": "成功", "result": { "tableInfo": { "id": "cust000000aKtFZpERvc", "keyPrefix": "cRvc", "name": "test__dfg__ CS T", "category": 3, "label": "dfg", "pluralLabel": "dfgs", "version": 0, "contextSetup": 0, "trackFieldHistory": false, "allowReports": false, "allowActivities": false, "allowChatter": false, "allowStreamingApiAccess": false, "allowBulkApiAccess": false, "allowSearch": false, "allowSharing": false, "sharingMode": 0, "deploymentStatus": 0, "properties": "", "status": 0, "createdBy": "10gd000000SDyqaQW6uu", "createdDate": "2020-05-28 17:01:02", "lastModifiedBy": "10gd000000SDyqaQW6uu", "lastModifiedDate": "2020-05-28 17:01:02", "description": "", "objectType": 0, "protectMode": 0, "installedPackage": "", "createdBy.name": "test0xx", "lastModifiedBy.name": "test0xx" }, "childObjects": null, "parentObjects": [ { "parentObject": "stad00000000000000GD", "cascadeDelete": false }, { "parentObject": "stad00000000000000GG", "cascadeDelete": false }, { "parentObject": "stup000000000000002I", "cascadeDelete": false }, { "parentObject": "stup000000000000003L", "cascadeDelete": false } ] } }
  • 响应参数 表2 响应参数 参数 参数类型 描述 resCode String 参数解释: 返回码。 取值范围: 如果返回“0”代表请求成功,其他错误码说明请参考错误码。 resMsg String 参数解释: 返回消息。 取值范围: 如果成功状态,通常会返回“Success”,其他情况会返回具体的错误信息。 result Object 参数解释: 成功返回对象各字段的详细信息,包含表信息,被依赖和依赖的表信息。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 comments String 备注 config_key String 配置键 config_type String 配置类型 config_value String 配置值 create_time String 创建时间 create_user String 创建者 id String UUID test_service_id String 服务id update_time String 修改时间 update_user String 修改者 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 testcases Array of TestCaseVo objects 用例详情 total_count Integer 用例总数 page_no Integer 页码 page_size Integer 每页数量 表5 TestCaseVo 参数 参数类型 描述 uri String 用例ID number String 用例编号 name String 用例名称 rank String 用例等级 dr_relation_id String 工作项id status_code String 状态ID status_name String 状态名称 author String 创建人名称 author_id String 创建人ID owner String 处理人名称 project_uuid String 项目ID test_type String 测试类型 creation_date String 创建时间 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 接口调用失败错误码 error_msg String 接口调用失败错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 接口调用失败错误码 error_msg String 接口调用失败错误信息 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 接口调用失败错误码 error_msg String 接口调用失败错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 接口调用失败错误码 error_msg String 接口调用失败错误信息
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 end_row Long 结束行 has_next_page Boolean 是否有下一页 has_previous_page Boolean 是否有上一页 is_first_page Boolean 是否是第一页 is_last_page Boolean 是否是最后一页 list Array of AlertTemplateVo objects 当前页面的模板 navigate_first_page Integer 导航第一页数字 navigate_last_page Integer 导航最后一页数字 navigate_pages Integer 导航页数 navigate_page_nums Array of integers 导航页数 next_page Integer 下一页 page_num Integer 多少页 page_size Integer 每页多少个 pages Integer 总页数 pre_page Integer 前面有多少页 size Integer 当前页告警模板数 start_row Long 开始行 total Long 总告警模板数 表5 AlertTemplateVo 参数 参数类型 描述 alert_levels Array of AlertLevel objects 告警级别列表 create_time String 创建时间 create_user String 创建人 id String 唯一ID,主键 name String 告警模板名称 remarks String 备注 test_service_id String 服务ID update_time String 修改时间 update_user String 更新人 表6 AlertLevel 参数 参数类型 描述 alert_channel Array of strings 告警渠道列表 alert_groups Array of AlertGroup objects 告警组列表 alert_template_id String 告警模板ID alert_times Integer 告警次数 表7 AlertGroup 参数 参数类型 描述 ding_talk_hook_url String 企业钉钉微信群聊机器人地址 group_name String 告警组名称 id String 告警组ID we_chat_work_hook_url String 企业微信群聊机器人地址 we_link_group_no String weLink群号 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 404 表10 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256
  • 响应参数 状态码: 401 表4 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 403 表5 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 404 表6 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如,定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中: 名称 描述 是否必选 备注 Content-Type 消息体的类型(格式) 是 默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token 用户Token 否 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 X-Project-ID 子项目ID 否 在多项目场景中使用 X-Domain-ID 账号ID - - 公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参考AK/SK认证。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxx为project的ID,获取方法请参见获取项目ID。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { id": "xxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。详情如下: 请求方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 在获取用户Token的URI部分,若请求方法为POST,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求URI 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 请求URI由四部分构成:{URI-scheme} :// {Endpoint} / {resource-path} ? {query-string}。 各参数含义如下: 参数 说明 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。 例如, IAM 服务在华北-北京一区域的Endpoint为iam.cn-north-1.myhuaweicloud.com。 resource-path 资源路径,即API访问路径,从具体API的URI模块获取。例如,获取用户Token接口的resource-path为/v3/auth/tokens。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个?,形式为参数名=参数取值。例如,limit=10表示查询不超过10条数据。 例如:如果需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示: https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total Integer 起始记录数 大于 实际总条数时, 值为0, 分页请求才有此值 value Array of TestCaseVo objects 实际的数据类型:单个对象,集合 或 NULL reason String 业务失败的提示内容,对内接口才有此值 page_size Integer 每页展示条数 page_no Integer 页码 has_more Boolean 是否有更多 表4 TestCaseVo 参数 参数类型 描述 uri String 资源URI type String 资源类型 author String 创建人 name String 名称 rank Integer 级别 preparation String 前置条件 remark String 备注 stage String 测试阶段 activity String 测试类型 keywords String 关键词 market String apitest标记是否代码已提交 designer String 设计者 tags String 标签 execute_parameter String 执行参数 region String 逻辑region owner String 处理人id,IteratorTestCase字段 last_modifier String 最后修改人 last_modified String 最后修改时间 last_modified_timestamp Long 修改时间时间戳 last_change_time String 最后变更时间 version_uri String 版本URI origin_uri String 源资源URI parent_uri String 父资源URI parent_path String 父资源路径 creation_version_uri String 创建版本URI creation_date String 创建时间 creation_date_timestamp Long 创建时间时间戳 author_name String 创建人名称 comment String 备注 number String 编号 case_type Integer 用例类型 platform_type Integer 执行平台类型 service_type Integer 服务类型 service_type_name String 服务类型名称 test_type Integer 测试类型 test_type_name String 测试类型名称 design_note String 设计描述 test_step String 测试步骤 expect_output String 期望结果 env_type String 测试环境类型 exe_platform String 执行平台 testcase_project String 测试工程 svn_script_path String 脚本路径 map_restrict String 约束条件 network_script_name String 网络脚本名 auto_type Integer 自动化类型,非自动化:0, 是自动化:1 to_be_auto_exec Integer 被自动化执行 last_result String 最后一次结果 last_result_uri String 最后一次结果Uri feature_uri String 目录Uri feature_name String 目录名称 interface_name String 测试接口名 snp_no String 网络问题ID dr_relation_id String 关联需求编号 issue_name String 需求名称 test_base_num String 测试基数 automatically_executed Integer 是否被自动化执行 first_execute_time String 第一次执行时间 detect_type String 检测类型 execute_param String 执行参数 test_feature String 分析领域 is_contract_testcase Integer 是否是契约用例,0:表示非契约用例, 1:表示契约用例 time_cost Double 总共耗时 be_auto_type_time String 记录用例由非自动化变为自动化类型的时间 compare_number String 配对用例编号 scene_flag String 场景标识 base_flag String 场景标识 para_validator String 区别是否从yaml中生成的用例,默认false knet_node_id String knet节点id last_exe_author String 最后一次执行用户 cloud_carrier String 运营商 market_place String 应用市场 test_mind_id String 脑图id test_mind_url String 脑图url commit_url String git提交url test_pattern_number String 测试模式编号 test_factor_number String 测试因子编号 status_code String 状态Code result_code String 结果Code release_id String 迭代ID label_id String 标签ID labels String 用例标签名称列表 module_id String 模块ID module_name String 模块名称 module_path String 模块path module_path_name String 模块路径名称 execute_latest_time String 最后执行时间 execute_duration String 执行时长 execute_times Integer 执行次数 is_keyword Integer 是否关键用例 release_dev String 测试版本号 new_created String 是否用户新增用例 project_uuid String 项目ID creation_version_name String 创建版本名称,原逻辑marshall添加字段 feature_path String 特性路径,原逻辑marshall添加字段 testcase_uri String 实体用例Uri,IteratorTestCase字段 owner_name String 处理人名称 iterator_case_uri String 迭代用例Uri,IteratorTestCase字段 script_link String 脚本链接scriptLink custom_field_1 String 自定义字段1 custom_field_2 String 自定义字段2 custom_field_3 String 自定义字段3 custom_field_4 String 自定义字段4 custom_field_5 String 自定义字段5 custom_field_6 String 自定义字段6 custom_field_7 String 自定义字段7 custom_field_8 String 自定义字段8 custom_field_9 String 自定义字段9 custom_field_10 String 自定义字段10 custom_field_11 String 自定义字段11 custom_field_12 String 自定义字段12 custom_field_13 String 自定义字段13 custom_field_14 String 自定义字段14 custom_field_15 String 自定义字段15 custom_field_16 String 自定义字段16 custom_field_17 String 自定义字段17 custom_field_18 String 自定义字段18 custom_field_19 String 自定义字段19 custom_field_20 String 自定义字段20 custom_field_21 String 自定义字段21 custom_field_22 String 自定义字段22 custom_field_23 String 自定义字段23 custom_field_24 String 自定义字段24 custom_field_25 String 自定义字段25 状态码: 400 表5 响应Body参数 参数 参数类型 描述 code String 业务失败的错误码 reason String 业务失败的提示内容 状态码: 401 表6 响应Body参数 参数 参数类型 描述 code String 业务失败的错误码 reason String 业务失败的提示内容 状态码: 404 表7 响应Body参数 参数 参数类型 描述 code String 业务失败的错误码 reason String 业务失败的提示内容 状态码: 500 表8 响应Body参数 参数 参数类型 描述 code String 业务失败的错误码 reason String 业务失败的提示内容
  • 响应示例 状态码: 200 OK { "status" : "success", "result" : { "page_no" : 1, "page_size" : 10, "total_page" : 1, "total_size" : 1, "page_list" : [ { "id" : "dfaba6a51f024c1f95229c1059ca34e0", "warningMsg" : null, "source" : "", "method" : "", "description" : null, "nameView" : null, "tmssCaseNumber" : null, "region" : null, "yamlName" : null, "create_time_string" : "2024-04-11 19:48:13 GMT+08:00", "update_time_string" : "2024-04-11 19:48:13 GMT+08:00", "create_time_stamp" : 1712836093000, "update_time_stamp" : 1712836093000, "create_user" : "devcloud_devcloud_s00314720_01", "create_time" : "2024-04-11T07:48:13+0800", "update_user" : "devcloud_devcloud_s00314720_01", "update_time" : "2024-04-11T07:48:13+0800", "name" : "默认文件夹", "param_type_and_dft_value" : null, "dft_custom_header" : null, "dft_check_point_list" : null, "dft_variable_list" : null, "keyword_variable_value" : null, "dft_retry_times" : "", "dft_retry_interval" : "", "return_type" : "", "aw_type" : 0, "aw_ins_list" : null, "project_id" : "09645c1f3f954a8d9ab29174857cffc5", "public_aw_lib_id" : "", "special_type" : null, "has_code" : null, "aw_code" : "", "group_name" : "", "protocol_type" : "", "by_order" : null, "aw_mark" : null, "output_param_list" : null, "is_favorite" : null, "tmss_case_id" : null, "create_user_id" : "", "aw_description" : null, "origin_project" : null, "aw_uniqueid" : null, "aw_tags" : null, "aw_operationid" : null, "interface_label" : null, "import_package" : null, "public_aw_lib" : null, "root_id" : null, "custom_aw_libs" : null, "delete_time" : null, "delete_user" : null, "parent_id" : "TOP", "is_folder" : "0", "cata_type" : 4, "page_no" : null, "page_size" : null, "total_page" : null, "total_size" : null, "child_list" : [ ], "extra_info" : null } ] }, "reason" : null, "error" : null, "code" : null }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 [数组元素] Array of AlertStatisticsDto objects OK 表5 AlertStatisticsDto 参数 参数类型 描述 block_alert_count Integer 阻塞告警次数 exception_alert_count Integer 异常告警次数 fail_alert_count Integer 失败告警次数 service_id String 服务id statistics_time Long 统计时间 timeout_alert_count Integer 超时告警次数 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 list Array of DashboardDto objects 返回结果 page_num Integer 页码 page_size Integer 分页大小 total_page Integer 总页数 total_size Long 总条数 表5 DashboardDto 参数 参数类型 描述 create_time String 创建时间 create_user String 创建者 data_type String 数据类型:0=用例成功率;1=用例时长 id String 唯一ID,主键 name String 看板标题 service_id String 服务ID task_ids Array of strings 任务ID列表 task_type String 任务类型,仅支持持续拨测和冒烟测试 update_time String 修改时间 update_user String 修改者 view_type String 看板类型:0=折线图;1=散点图;2=饼图 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 404 表8 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 [数组元素] Array of EchoTestPackageCheckResult objects OK 表4 EchoTestPackageCheckResult 参数 参数类型 描述 expiration_time String 到期时间 has_license Boolean 是否拥有license original_amount Double 总量 package_user Boolean 是否跨租户 resource_id String 资源记录id resource_status String 套餐状态 resource_used Double 用量使用量 spec_code String 套餐名称 start_time String 开始时间 tenant_id String 租户id 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 403 表6 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256 状态码: 404 表7 响应Body参数 参数 参数类型 描述 error_code String 错误编码 最小长度:1 最大长度:50 error_msg String 错误原因 最小长度:1 最大长度:256
  • 操作步骤 进入“基本信息”页面。 查看用户基本信息。 在“华为账号信息”区域,您可以查看使用华为账号时所需的信息,如:账号名、手机号、邮箱地址和密码。 在“华为云业务信息”区域,您可以查看使用华为云业务时所需的信息,如:租户名、开通时间、企业名称/姓名(系统将根据选择的账号类型展示企业名称或姓名)、职位、业务手机号(仅在华为云账号手机号与华为账号手机号不一致时显示的华为云账号手机号)、业务邮件地址(仅在华为云账号邮件地址与华为账号邮件地址不一致时显示的华为云账号邮件地址)、认证信息、安全凭证、联系地址及应用行业信息。
  • 自定义视频会议来电时接听方式按钮 接口描述 该接口用于自定义视频会议来电时接听按钮。默认情况下视频会议来电时有视频接听和语音接听两种方式,可以通过该接口配置成只显示一种接听方式。 图1 会议来电接听方式按钮自定义 示例代码 1 2 3 4 5 6 7 8 9 10 public class MyUiStrategyWhenConfIncoming implements IUiStrategyWhenConfIncoming { @Override public AnswerBtnShowType getVideoConfIncomingAnswerBtnShowType() { // return AnswerBtnShowType.AnswerBtnShowTypeOnlyVideo; 只显示视频接听按钮 // return AnswerBtnShowType.AnswerBtnShowTypeOnlyAudio; 只显示语音接听按钮 // return AnswerBtnShowType.AnswerBtnShowTypeAll; 语音接听视频接听按钮都显示 return AnswerBtnShowType.AnswerBtnShowTypeAll; } sdkConfig.setUiStrategyWhenConfIncoming(new MyUiStrategyWhenConfIncoming()); 父主题: 界面定制
  • getVideoConfIncomingAnswerBtnShowType 接口描述 该接口用于自定义视频会议来电时接听按钮。默认情况下视频会议来电时有视频接听和语音接听两种方式,可以通过该接口配置成只显示一种接听方式。 图1 会议来电接听方式按钮自定义 注意事项 RTC会议时,禁止语音接通。 方法定义 1 - (HWMAnswerBtnShowType)getVideoConfIncomingAnswerBtnShowType; 参数描述 表1 枚举HWMAnswerBtnShowType说明 参数 描述 HWMAnswerBtnShowTypeAll 全部显示 HWMAnswerBtnShowTypeOnlyAudio 只显示音频接听 HWMAnswerBtnShowTypeOnlyVideo 只显示视频接听 示例代码 1 2 3 4 /// 视频会议来电时按钮显示状态 - (HWMAnswerBtnShowType)getVideoConfIncomingAnswerBtnShowType { return HWMAnswerBtnShowTypeAll; }
  • 参数描述 表1 参数说明 参数 是否必须 类型 描述 result 是 int 离会原因 Constants.LEAVE_CONF_MODE.LEAVE_NORMAL = 7; //正常离会 Constants.LEAVE_CONF_MODE.LEAVE_OF_NOSTREAM = 8; //无码流重连后离会 Constants.LEAVE_CONF_MODE.LEAVE_OF_OUTNET = 9; //断网重连后离会 Constants.LEAVE_CONF_MODE.LEAVE_OF_TLS_UNESTABLISH = 10; //tls闪断 Constants.LEAVE_CONF_MODE.LEAVE_OF_OUTNET_TIMEOUT = 14; //断网重连超时离会
  • RDS for SQL Server版本策略 云数据库RDS for SQL Server具有稳定可靠、安全运行、弹性伸缩、轻松管理和经济实用等特点。拥有高可用架构、数据安全保障和故障秒级恢复功能,提供了灵活的备份方案。本文将为您介绍RDS for SQL Server的版本策略。 表1 RDS for SQL Server各版本生命周期 版本号 当前状态 华为云上线时间 版本EOM(停止销售) 版本EOS(完全停止支持) SQL Server 2022 已商用 2023年6月 2028年12月 2033年12月 SQL Server 2019 已商用 2021年12月 2033年12月 2035年12月 SQL Server 2017 已商用 2020年5月 2030年12月 2032年12月 SQL Server 2016 已商用 2018年1月 2029年12月 2031年12月 SQL Server 2014 已商用 2018年1月 2027年12月 2029年12月 SQL Server 2012 已商用 2018年1月 2025年12月 2027年12月 SQL Server 2008 R2 停售 2018年1月 2021年7月 2025年12月 RDS for SQL Server版本策略跟随微软原厂的生命周期策略,参考这里,会在原厂停止维护后逐步停止服务。 父主题: 产品发布说明
  • 使用Hive客户端( MRS 3.x之前版本) 安装客户端,具体请参考安装客户端章节。 以客户端安装用户,登录安装客户端的节点。 执行以下命令,切换到客户端安装目录。 cd /opt/hadoopclient 执行以下命令配置环境变量。 source bigdata_env 根据集群认证模式,完成Hive客户端登录。 安全模式,则执行以下命令,完成用户认证并登录Hive客户端。 kinit 组件业务用户 beeline 普通模式,则执行以下命令,登录Hive客户端,如果不指定组件业务用户,则会以当前操作系统用户登录。 beeline -n 组件业务用户 进行beeline连接后,可以编写并提交HQL语句执行相关任务。如需执行Catalog客户端命令,需要先执行!q命令退出beeline环境。 使用以下命令,执行HCatalog的客户端命令。 hcat -e "cmd" 其中"cmd"必须为Hive DDL语句,如hcat -e "show tables"。 若要使用HCatalog客户端,必须从“组件管理”页面单击“下载客户端”,下载全部服务的客户端。Beeline客户端不受此限制。 由于权限模型不兼容,使用HCatalog客户端创建的表,在HiveServer客户端中不能访问,但可以使用WebHCat客户端访问。 在普通模式下使用HCatalog客户端,系统将以当前登录操作系统用户来执行DDL命令。 退出beeline客户端时请使用!q命令,不要使用“Ctrl + c”。否则会导致连接生成的临时文件无法删除,长期会累积产生大量的垃圾文件。 在使用beeline客户端时,如果需要在一行中输入多条语句,语句之间以“;”分隔,需要将“entireLineAsCommand”的值设置为“false”。 设置方法:如果未启动beeline,则执行beeline --entireLineAsCommand=false命令;如果已启动beeline,则在beeline中执行!set entireLineAsCommand false命令。 设置完成后,如果语句中含有不是表示语句结束的“;”,需要进行转义,例如select concat_ws('\;', collect_set(col1)) from tbl。
  • 使用Kafka客户端 以客户端安装用户,登录安装客户端的节点。 执行以下命令,切换到客户端安装目录。 cd /opt/client 执行以下命令配置环境变量。 source bigdata_env 执行以下命令,进行用户认证。(普通模式跳过此步骤) kinit 组件业务用户 执行以下命令切换到Kafka客户端安装目录。 cd Kafka/kafka/bin 执行以下命令使用客户端工具查看帮助并使用。 ./kafka-console-consumer.sh:Kafka消息读取工具 ./kafka-console-producer.sh:Kafka消息发布工具 ./kafka-topics.sh:Kafka Topic管理工具 MRS 3.x之前版本:执行以下命令,管理Kafka主题。 创建主题 sh kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份个数 --zookeeper ZooKeeper角色实例所在节点IP地址:clientPort/kafka 删除主题 sh kafka-topics.sh --delete --topic 主题名称 --zookeeper ZooKeeper角色实例所在节点IP地址:clientPort/kafka 主题分区数和主题备份个数不能大于Kafka角色实例数量。 默认情况下,ZooKeeper的“clientPort”为“2181”。 ZooKeeper角色实例所在节点IP地址,填写三个角色实例其中任意一个的IP地址即可。 MRS 3.x及后续版本:使用kafka-topics.sh管理Kafka主题。 创建主题: Topic的Partition自动划分时,默认根据节点及磁盘上已有的Partition数进行均衡划分,如果期望根据磁盘容量进行Partition划分,那么需要修改Kafka服务配置“log.partition.strategy”为“capacity”。 Kafka创建Topic时,支持基于“机架感知” 和 “跨AZ特性” 两种选项组合生成分区及副本的分配方案且支持 “--zookeeper” 和 “--bootstrap-server”两种方式 禁用机架策略 & 禁用跨AZ特性 (默认策略)。 基于此策略新建的Topic的副本会完全随机分配到集群中任意节点上。 ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties 其中,使用“--bootstrap-server”方式创建Topic时,需配置“rack.aware.enable=false”和“az.aware.enable=false”。 启用机架策略 & 禁用跨AZ特性。 基于此策略新建的Topic的各个Partition的Leader会在集群节点上随机分配,但会确保同一Partition的不同Replica会分配在不同的机架上,所以当使用此策略时,需保证各个机架内的节点个数一致,否则会导致节点少的机架上的机器负载远高于集群平均水平。 ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka --enable-rack-aware ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties 其中,使用 “--bootstrap-server”方式创建Topic时,需配置“rack.aware.enable=true”和“az.aware.enable=false”。 禁用机架策略 & 启用跨AZ特性。 基于此策略新建的Topic的各个Partition的Leader会在集群节点上随机分配,但会确保同一Partition的不同Replica会分配在不同的AZ上,所以当使用此策略时,需保证各个AZ内的节点个数一致,否则会导致节点少的AZ上的机器负载远高于集群平均水平。 ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka --enable-az-aware ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties 其中,使用 “--bootstrap-server”方式创建Topic时,需配置“rack.aware.enable=false”和“az.aware.enable=true”。 启用机架策略 & 启用跨AZ特性。 基于此策略新建的Topic的各个Partition的Leader会在集群节点上随机分配,但会确保同一Partition的不同Replica会分配到不同AZ内的不同RACK上,使用此策略需保证每个AZ内的每个RACK上的节点个数一致,否则会导致集群内负载不均衡。 ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka --enable-rack-aware --enable-az-aware ./kafka-topics.sh --create --topic 主题名称 --partitions 主题占用的分区数 --replication-factor 主题的备份数 --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties 使用 “--bootstrap-server”方式创建Topic时,需配置“rack.aware.enable=true”和“az.aware.enable=true”。 Kafka创建Topic支持 “--zookeeper” 和 “--bootstrap-server”两种方式,区别如下: “--zookeeper”方式由客户端生成副本分配方案,社区从一开始就支持这种方式,为了降低对Zookeeper组件的依赖,社区将在后续版本中删除对这种方式的支持。基于这种方式创建Topic时,可以通过 "--enable-rack-aware" 和 “--enable-az-aware”这两个选项自由组合来选用副本分配策略。注意:使用“--enable-az-aware”选项的前提是服务端开启了跨AZ特性,即服务端启动参数“az.aware.enable”为“true”,否则会执行失败。 “--bootstrap-server”方式由服务端生成副本分配方案,后续版本,社区将只支持这种方式来进行Topic管理。基于这种方式创建Topic时,不支持 "--enable-rack-aware" 和 "--enable-az-aware"选项来控制副本分配策略,支持 “rack.aware.enable”和“az.aware.enable”这两个服务启动参数组合来控制副本分配策略,需注意的是“az.aware.enable”参数不可修改,在创建集群时,如果开启跨AZ特性,会自动配置为“true”;“rack.aware.enable”参数支持用户自定义修改。 罗列主题: ./kafka-topics.sh --list --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka ./kafka-topics.sh --list --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties 查看主题: ./kafka-topics.sh --describe --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka --topic 主题名称 ./kafka-topics.sh --describe --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties --topic 主题名称 修改主题: ./kafka-topics.sh --alter --topic 主题名称 --config 配置项=配置值 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka 扩展分区: ./kafka-topics.sh --alter --topic 主题名称 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka --command-config Kafka/kafka/config/client.properties --partitions 扩展后分区个数 ./kafka-topics.sh --alter --topic 主题名称 --bootstrap-server Kafka集群IP:21007 --command-config Kafka/kafka/config/client.properties --partitions 扩展后分区个数 删除主题: ./kafka-topics.sh --delete --topic 主题名称 --zookeeper ZooKeeper的任意一个节点的业务IP:clientPort/kafka ./kafka-topics.sh --delete --topic 主题名称 --bootstrap-server Kafka集群IP:21007 --command-config ../config/client.properties
  • 全量更新备Master节点的原始客户端 参见1~3登录备Master节点,执行如下命令切换到omm用户。 sudo su - omm 在备master节点上执行如下命令,从主master节点拷贝下载的客户端包。 scp omm@master1节点IP地址:/tmp/MRS-client/MRS_Services_Client.tar /tmp/MRS-client/ 该命令以master1节点为主master节点为例。 目的路径以备master节点的/tmp/MRS-client/目录为例,请根据实际路径修改。 参见4~13,更新备Master节点的客户端。
  • 计费周期 华为云事件网格EG按照实际使用量付费,没有最低消费。计费模式采用累计分档计费,按天结算,即每日3点后对前一日使用量进行扣费。例如,2023-05-11 00:00:00至2023-05-11 23:59:59期间产生的费用,通常会在2023-05-12 03:00:00左右完成扣费。 标准计费:根据使用时长(次数,量)“单位价格”计算出价格后,截取到“分”扣费。 阶梯计费:例如对象存储,根据“使用量”单位价格“时长”计算出价格后,截取到“分”扣费。 在按需付费模式下,价格计算器上的金额如果遇小数点,则保留小数点后两位,第三位四舍五入。如遇四舍五入后不足¥0.01 ,则按¥0.01 展示。
  • 创建OBS桶 登录OBS控制台。 单击“创建桶”,进入“创建桶”页面。 参考图1,设置桶参数。关于桶参数的详细介绍,请参考创建桶。 区域:与事件网格所在区域保持一致 桶名称:输入示例如“eg-obs” 默认存储类别:选择“标准存储” 桶策略:选择“私有” 默认加密:不勾选 归档数据直读:选择“关闭” 企业项目:选择“default” 图1 创建桶 配置完成后,单击“立即创建”,根据提示信息完成桶的创建。 父主题: 实施步骤
  • 查看事件消息 登录分布式消息服务Kafka版控制台,选择Kafka实例所在的区域。 在“Kafka专享版”页面,单击Kafka实例的名称“eg-kafka”,进入实例详情页面。 选择“消息查询”页签,在消息页签页面,设置查询的Topic名称“topic-eg”、分区以及查询方式。 单击“搜索”,查询消息。 单击“查看消息正文”,弹出“查看消息正文”对话框,查看消息的具体内容。 图1 事件消息 父主题: 实施步骤
  • 资源和成本规划 本实践涉及到的资源和成本规划,如下表所示。 表1 资源和成本规划 资源 资源说明 数量 费用(元) 虚拟私有云VPC 创建一个虚拟私有云VPC。 1 00.00 虚拟私有云子网 创建一个虚拟私有云子网。 1 00.00 安全组 创建一个安全组。 1 00.00 对象存储服务 OBS 创建一个OBS桶。 说明: 创建OBS桶免费,使用阶段请参考OBS计费说明。 1 00.00 分布式消息服务 Kafka版 购买一个Kafka实例,按需计费。 1 例如:kafka.2u4g.cluster 4.35元/小时 事件网格EventGrid 创建一个事件订阅,事件源为OBS应用事件源,事件目标为分布式消息服务Kafka版。 创建一个目标连接,类型为“分布式消息服务 Kafka版”。 1 00.00 本文提供的成本预估费用仅供参考,资源的实际费用以华为云管理控制台显示为准。 父主题: 基于事件订阅将OBS应用事件源消息路由至分布式消息服务Kafka版
  • 购买实例 登录分布式消息服务Kafka版控制台,单击页面右上方的“购买Kafka实例”。 配置如下实例参数。更多购买实例参数的详细介绍,请参考购买Kafka实例。 计费模式:按需计费 区域:与事件网格所在区域保持一致 项目:选择默认项目 可用区:根据默认项配置 实例名称:输入“eg-kafka” 企业项目:选择“default” 规格类型:默认 版本:3.x CPU架构:x86计算 代理规格:kafka.2u4g.cluster.small 代理数量:配置为“3” 存储空间:高I/O,100GB 磁盘加密:关闭 容量阈值策略:自动删除 虚拟私有云:vpc-default/subnet-default,此处选择前提条件中已准备好的vpc-default 安全组:default,此处选择前提条件中已准备好的安全组default “更多配置”中配置如下参数: Kafka SASL_SSL:开启 kafka安全协议:SASL_SSL SASL PLAIN 机制:开启 用户名:kafka-name 密码:填写密码 默认密码:确认密码 单击“立即购买”,完成Kafka实例的创建。
  • 创建Topic 登录分布式消息服务Kafka版控制台,选择Kafka实例所在的区域。 在“Kafka专享版”页面,单击已创建的Kafka实例的名称,进入实例详情页面。 在“Topic管理”页签,单击“创建Topic”,弹出“创建Topic”对话框。 参考图1配置Topic参数,Topic名称配置为“topic-eg”,其他参数保持默认即可。更多创建Topic参数的详细介绍,请参考创建Topic。 图1 创建Topic 单击“确定”,完成创建Topic。
  • 创建OBS源桶和目标桶 登录OBS控制台。 单击“创建桶”,进入“创建桶”页面。 设置桶参数。关于桶参数的详细介绍,请参考创建桶。 表1 桶参数配置 参数 说明 区域 事件网格与所在区域保持一致。 桶名称 输入示例如“eg-test”。 默认存储类别 按需选择。 桶策略 按需选择。 默认加密 按需选择。 归档数据直读 按需选择。 企业项目 按需选择。 图1 桶参数配置 配置完成后,单击“立即创建”,根据提示信息完成桶的创建。 以上述流程构建源桶与目标桶。 父主题: 实施步骤
共100000条