华为云用户手册

  • URI PUT /v2/{project_id}/cas/applications/{application_id}/components/{component_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。
  • 请求示例 修改指定组件ID对应的组件信息,修改组件名称为test-micro,设置组件软件包来源为存储在obs下test-soft桶中的fusionweather-1.0.0.jar包,指定cce-test集群为组件构建集群。 { "name": "test-micro", "description": "", "source": { "kind": "artifact", "spec": { "storage": "obs", "type": "package", "url": "obs://test-soft/fusionweather-1.0.0.jar", "auth": "iam", "webUrl": "", "properties": { "bucket": "test-soft", "endpoint": "https://obs.region_id.development.com:443", "key": "fusionweather-1.0.0.jar" } } }, "build": { "parameters": { "artifact_namespace": "ns", "use_public_cluster": false, "cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2", "cluster_name": "cce-test", "cluster_type": "VirtualMachine" } }, }
  • 响应示例 { "configuration": [ { "application_id": "e5213b62-0e3c-476f-9960-3e4108787350", "environment_id": "00078e9d-a61c-476e-ac63-a10c9cb2638e", "configuration": { "env": [ { "name": "env", "value": "value1" } ] } } ] }
  • URI GET /v2/{project_id}/cas/applications/{application_id}/configuration 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 表2 查询参数 参数 是否必选 参数类型 描述 environment_id 否 String 环境ID,如果未提供,查询所有环境。获取方法,请参考获取所有环境。
  • 响应消息 表4 响应参数 参数 参数类型 描述 configuration Array of objects 配置信息,请参考表5。 表5 应用配置信息 参数 参数类型 描述 application_id String 应用ID。 environment_id String 环境ID。 configuration Object 应用配置信息,请参考表6。 表6 configuration 参数 参数类型 描述 env Array of objects 应用组件环境变量,请参考表7。 表7 env 参数 参数类型 描述 name String 环境变量名称 value String 环境变量取值
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 X-Repo-Auth 是 String 授权名称。通过获取仓库授权列表获取对应的授权名称。
  • 响应示例 { "job": { "JOB_ID": "JOB474362ef-091d-429f-9b3e-c9246b37dee6", "JOB_NAME": "provision/provMain", "JOB_TYPE": "PROVISION", "SERVICE_INSTANCE_ID": "429a35a0-dee8-4648-86f6-d1f8bc74ba52", "PROJECT_ID": "063a3158b1a34710b36ad208b9497d00", "ORDER_ID": "", "JOB_DESC": "provision/provMain", "EXECUTION_STATUS": "FAILED", "CREATED_BY": "585cc5c16cda4954b28d4eb460f06261" }, "tasks": [ { "MESSAGES": "{}", "TASK_ID": "Task-bc64b46c-1688-4787-b7ff-87cb53b346ea", "TASK_TYPE": "echo", "TASK_INDEX": 1, "TASK_NAME": "SEPARATOR_PREPARE_RESOUR CES ", "TASK_STATUS": "SUCCEEDED", "LAST_HEALTH_CHECK": "2020-02-04T04:01:03.344Z", "CREATED_AT": "2020-02-04T04:01:03.344Z", "OWNER_ID": "cas-mgr-69bb87d7c-wpqwb:30114" }, { "MESSAGES": "{}", "TASK_ID": "Task-15ec252f-bca0-401e-ae5b-798a639df92e", "TASK_TYPE": "echo", "TASK_INDEX": 4, "TASK_NAME": "SEPARATOR_BUILDING", "TASK_STATUS": "SUCCEEDED", "LAST_HEALTH_CHECK": "2020-02-04T04:01:03.346Z", "CREATED_AT": "2020-02-04T04:01:03.345Z", "OWNER_ID": "cas-mgr-69bb87d7c-wpqwb:30114" }, { "MESSAGES": "{}", "TASK_ID": "Task-52a5d1ae-2c54-46ec-8134-53e7b6a45fb7", "TASK_TYPE": "restful", "TASK_INDEX": 6, "TASK_NAME": "TN00091", "TASK_STATUS": "SUCCEEDED", "LAST_HEALTH_CHECK": "2020-02-04T04:01:08.924Z", "CREATED_AT": "2020-02-04T04:01:03.346Z", "OWNER_ID": "cas-mgr-69bb87d7c-wpqwb:30114" }, { "MESSAGES": "{}", "TASK_ID": "Task-a149b585-d31b-4c72-a665-d820efcb0bf9", "TASK_TYPE": "restful", "TASK_INDEX": 7, "TASK_NAME": "TN00094", "TASK_STATUS": "SUCCEEDED", "LAST_HEALTH_CHECK": "2020-02-04T04:01:08.961Z", "CREATED_AT": "2020-02-04T04:01:08.925Z", "OWNER_ID": "cas-mgr-69bb87d7c-wpqwb:30114" }, { "MESSAGES": "{ \"Message\" : \"ECC00011\", \"Detail\" : \"Building failed.\" }", "TASK_ID": "Task-a72fe8d8-8cc1-42b5-a097-0cf9e29692a7", "TASK_TYPE": "restful", "TASK_INDEX": 9, "TASK_NAME": "TN00097", "TASK_STATUS": "FAILED", "LAST_HEALTH_CHECK": "2020-02-04T04:01:38.975Z", "CREATED_AT": "2020-02-04T04:01:08.962Z", "OWNER_ID": "cas-mgr-69bb87d7c-wpqwb:30114" } ], "task_count": 5 }
  • URI GET /v2/{project_id}/cas/jobs/{job_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 job_id 是 String 部署任务ID,为创建组件实例接口响应参数的job_id。 表2 查询参数 参数 是否必选 参数类型 描述 instance_id 否 String 应用组件实例ID。获取方法,请参考获取组件实例。 limit 否 Integer 指定个数。 offset 否 Integer 指定偏移量。 desc 否 String 是否降序: true=desc,false=asc。
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 X-Repo-Auth 是 String 授权名称,通过获取仓库授权列表获取对应的授权名称。
  • URI GET /v1/{project_id}/git/repos/{namespace}/{project}/hooks 参数说明见表1。 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 namespace 是 String 命名空间ID或者URL编码名称。获取方法,请参考获取仓库namespaces。 project 是 String 仓库项目ID或者URL编码名称,如果含有“/”,需要将“/”替换为“:”。获取方法,请参考获取命名空间下所有项目。
  • 请求消息 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 X-Repo-Auth 是 String 授权名称,通过获取仓库授权列表获取对应的授权名称。
  • 请求示例 通过clone url获取仓库信息,clone url值为http://xxx.gitlab.com:8090/xxx/springcloud-xxbbon.git。 https://Endpoint/v1/7c6a62ddb2bf45a3920d8053d3cb8fbf/git/repos/project-info?clone_url=http://xxx.gitlab.com:8090/xxx/springcloud-xxbbon.git
  • 请求消息 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 X-Repo-Auth 是 String 授权名称,通过获取仓库授权列表获取对应的授权名称。
  • URI GET /v1/{project_id}/git/repos/{namespace}/{project}/commits 参数说明见表1。 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 namespace 是 String 命名空间ID或者URL编码名称。获取方法,请参考获取仓库namespaces。 project 是 String 仓库项目ID或者URL编码名称,如果含有“/”,需要将“/”替换为“:”。获取方法,请参考获取命名空间下所有项目。 表2 查询参数 参数 是否必选 参数类型 描述 ref 否 String 分支名称或者tag名称,如果没有提供,使用默认分支。
  • 请求示例 创建一个名称为development-env的“虚拟机”类型的环境,环境所在VPC的id为29d55020-ae0e-4a18-871c-93e6976ee7bd。 { "name": "development-env", "description": "", "charge_mode": "provided", "deploy_mode": "container", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ] }
  • 响应示例 { "id": "00078e9d-a61c-476e-ac63-a10c9cb2638e", "name": "development-env", "alias": null, "description": "", "project_id": "e7d2e9c589e5445e808a8ff0d1235aca", "enterprise_project_id": "0", "charge_mode": "provided", "deploy_mode": "container", "vpc_id": "29d55020-ae0e-4a18-871c-93e6976ee7bd", "base_resources": [ { "id": "b6862a62-d916-11e9-bdf1-0255ac101fd9", "type": "cce" } ], "optional_resources": [ { "id": "default", "type": "cse" } ], "creator": "ss-test", "create_time": 1610418873730, "update_time": 1610418873730 }
  • 响应消息 表5 响应参数 参数 参数类型 描述 id String 环境ID。 name String 环境名称。 alias String 环境别名。 description String 环境描述。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 charge_mode String 收费模式。 deploy_mode String 环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 vpc_id String 虚拟私有云ID。 base_resources Array of objects 基础资源,请参考表6,返回为空。 optional_resources Array of objects 可选资源,请参考表6,返回为空。 creator String 创建人。 create_time Integer 创建时间。 update_time Integer 修改时间。 表6 resources 参数 参数类型 描述 id String 资源ID。 name String 资源名称。 type String 基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式),默认取值为“application/json”。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种。如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 环境名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,英文字母不区分大小写,长度为2~64个字符。 alias 否 String 环境别名。 最大长度为64个字符。 deploy_mode 是 String 指定环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 description 否 String 环境描述。 最大长度为128个字符。 enterprise_project_id 否 String 企业项目ID。 charge_mode 否 String 收费模式,支持provided、on_demanded、monthly。默认provided,表示使用用户提供的已有资源,无需收费。on_demanded表示按需收费,monthly表示包月收费。 vpc_id 是 String 虚拟私有云ID。 base_resources 是 Array of objects 基础资源,请参考表4。 optional_resources 否 Array of objects 可选资源,请参考表4。 表4 resources 参数 是否必选 参数类型 描述 id 是 String 资源ID。 type 是 String 基础资源:cce、ecs、as。 可选资源:rds、dcs、elb、cse等其他类型。 name 否 String 资源名称。
  • 发布测试 当您配置好对话流程后,需要训练发布才能在对话体验中生效。 单击页面上方导航栏中“发布测试”,进入“发布测试”页面。 单击“训练模型”,弹出“训练模型”对话框。 如果对话流程检测后有严重错误未修改,会提示先去修改再进行训练。 图1 训练模型 勾选“用户常用问法”,设置技能阈值、描述信息。 单击“确定”。在下方版本列表中显示发布的版本信息,状态为“训练中”。 等待约3分钟训练结束,版本状态变为“训练成功”,单击右侧操作列的“线上发布”按钮,即可将当前版本发布到线上。 父主题: 基于对话流程创建“查天气”技能
  • 步骤6:检测对话流程 对话流程配置后,单击按钮可检测当前流程是否有错误。对话流程在训练发布前,一定要经过检测。 如果检测结果为黄色或红色,鼠标悬浮在检测按钮右侧的检测结果图标上,配置有问题的节点会高亮显示。 当检测结果图标是绿色,表示流程图检测通过。 当检测结果图标是黄色,表示流程图存在参数未设置、不存在或流程逻辑有问题的情况,可能导致流程不通畅。 当检测结果图标是红色,表示流程图部分节点关键信息未设置或不存在,将导致流程不通畅。 如果检测结果为黄色或红色,通过鼠标悬浮在“检测”按钮左侧的图标上,配置有问题的节点会高亮显示。 图7 检测流程图
  • 步骤4:新建对话回复节点(分支1) 添加对话回复节点,用于分支1呈现查询结果。 在左上角节点列表中,拖拽“对话回复”节点到中间空白区域,同时界面右侧展开“对话回复”页签。 设置节点名称为“查询结果”,及通过插入槽位和插入变量设置机器人回复内容。 在输入框中填充槽位和变量之间的文本,例如“[S:China_city-国内城市]天气是[V:weather],[V:weather_wind],风力[V:weather_speed],最高温度[V:weather_day_tem]度,最低温度[V:weather_night_tem]度。”表示机器人回复的术语是“北京天气是多云,西南风,风力1级,最高温度31度,最低温度22度。”。 图5 配置查询结果对话回复节点 用连线将“查天气”和“查询结果”连接起来。
  • 步骤3:新建接口调用节点 访问https://www.tianqiapi.com/注册天气查询服务,获取调用查天气API所需的appid和appsecret。 访问免费基础实况天气开发文档https://www.tianqiapi.com/index/doc,获取调用查天气API的请求方式及url。 本方案中提供的天气查询接口,返回参数参考下图。在接口调用时,机器人需要对返回参数进行重新赋值。 添加接口调用节点,用于分支1调用天气接口查询天气。 在左上角节点列表中,拖拽“接口调用”节点到中间空白区域,同时界面右侧展开“接口调用”页签。 设置节点名称为“查天气”,选择“配置模式”,配置调用的接口及入参和出参信息,如下图所示,设置完成后,单击页面空白处退出“接口调用”页签并保存设置结果。 请求方式:选择“GET”。 调用地址:填写“https://yiketianqi.com/free/day”。 入参设置: 入参名称 选项 填写说明 city 根据槽位取值 意图为“查询国内城市天气”,槽位为“国内城市”。 appid 自定义取值 参数值为注册后获取到的appid。 appsecret 自定义取值 参数值为注册后获取到的appsecret。 出参设置: 出参名称 选项 变量名 wea 赋值给变量 weather win 赋值给变量 weather_wind win_speed 赋值给变量 weather_speed tem_day 赋值给变量 weather_day_tem tem_night 赋值给变量 weather_night_tem 您可以通过“新建变量”按钮,新建全局变量。例如,系统中没有weather变量,您就需要新建该变量。 新建变量时,需输入变量名称,并按回车键,才可添加变量信息。 图4 配置查天气接口调用节点 用连线将“查询城市”和“查天气”连接起来。
  • 步骤1:新建条件判断节点 在“配置对话流程”页面,在“当前版本”选择需要编辑的版本,默认显示“编辑版本”。 图1 当前版本 添加条件判断节点,用于判断是否查询天气。 在左上角节点列表中,拖拽“条件判断”节点到中间空白区域,同时界面右侧展开“条件判断”页签。 设置节点名称为“是否查询天气”,通过“添加条件分支”按钮添加两种结果分支,如下图所示,设置完成后,单击页面空白处退出“条件判断”页签并保存设置结果。 分支1:在下拉框中选择“意图识别”,设置条件为“等于”、“查询国内城市天气”,表示判断用户问题中包含“查天气”。 分支2:在下拉框中选择“意图识别”,设置条件为“不等于”、“查询国内城市天气”,表示判断用户问题中不包含“查天气”。 图2 配置查天气条件判断节点 用连线将“对话开始”和“是否查询天气”连接起来。
  • 步骤2:新建信息收集节点 添加信息收集节点,用于收集分支1的查询城市。 在左上角节点列表中,拖拽“信息收集”节点到中间空白区域,同时界面右侧展开“信息收集”页签。 设置节点名称为“查询城市”,在槽位管理下拉框中选择“查询国内城市天气”意图,系统会自动关联出槽位信息,如下图所示,您可以根据实际情况设置“取值保留时间”、“是否必须”、“追问轮数”和“追问话术”。设置完成后,单击页面空白处退出“收集信息”页签并保存设置结果。 图3 配置查询城市信息收集节点 用连线将“是否查询天气”和“查询城市”连接起来。
  • 编辑意图 当您创建好一个意图,您需要设置用户问法、槽位信息等,使机器人可以理解用户的这个意图,并做出回复。 在“意图列表”中,单击意图名称,进入意图编辑页面。 “意图名称”、“描述”信息可以修改,“意图标识”不支持修改。 添加槽位。 触发意图的关键信息即为槽位。比如,用户咨询“查询北京的天气”,其中“北京”为“国内城市”槽位,触发机器人查询实时的北京天气。 单击“添加槽位”,弹出“添加槽位”对话框,参考图2填写参数,单击“确定”。 图2 添加槽位 设置用户问法。 当用户与机器人进行对话时,如果用户问题与设置的用户问法具有相同的语义,则可以触发该意图。 在输入框中输入常用问法,单击“添加”,下方显示添加的问法。 图3 添加用户问法 在添加的用户问法语料中,添加滑词,标注槽位。标注完成后单击“保存”,保存设置信息。单击“下一步”进入配置对话流程。 鼠标左键滑动选中关键词,显示“选择槽位”悬浮框,悬浮窗中会显示槽位管理中配置的所有槽位,单击需要标注的槽位。 图4 标注槽位
  • 步骤3:调用服务 在Postman左侧导航栏中单击“ExecuteQaChat”配置文件。 登录我的凭证,获取“华北-北京四”区域的项目ID,替换配置文件URL中的{project_id}。 登录 对话机器人服务 管理控制台,在左侧菜单栏中选择“ 智能问答机器人 ”。在机器人列表,复制机器人ID,替换配置文件URL中的{qabot_id}。 图5 机器人ID 单击“Headers”配置项。将获取的Token复制到“X-Auth-Token”的参数值中。 图6 填写Token 单击“Body”配置项,修改配置文件内容。其中,question参数为必填项,其他参数项为非必填,其他参数请参见请求参数。 图7 修改配置文件 单击“Send”,发送请求,获取调用结果。 图8 响应结果
  • 步骤2:Token认证鉴权 Token是用户的访问令牌,承载了用户的身份、权限等信息,用户调用API接口时,需要使用Token进行鉴权。 在Postman左侧导航栏中单击“get-token”配置文件。 单击“Body”配置项。填写用户名、密码、账号名。 请登录“我的凭证”页面,复制 IAM 用户名、账号名至username、domainname参数处,并填写密码。 图3 Token认证鉴权 单击“Send”,发送请求,获取并复制Token。 获取返回结果“Headers”中的“X-Subject-Token”即为Token。Token有效期为24小时。 图4 获取Token
  • 性能测试数据 不同业务模型和实例规格下,针对弱一致性,预置1000万行数据量,测试的OPS*数据(表格中黑色字体),详见表1中加粗内容。 表1 测试数据 实例规格 4U16GB 8U32GB 16U64GB 32U128GB 业务模型编号 s1 35263 69490 75332 92332 业务模型编号 s2 13399 26732 39276 50833 业务模型编号 s3 19959 55442 79135 98611 业务模型编号 s4 23338 75905 89156 101306 业务模型编号 s5 16829 35224 60616 81019 业务模型编号 s6 29286 64882 97377 121071 *OPS:Operation Per Second,数据库每秒执行的操作数。 *业务模型编号:业务模型编号对应的业务模型,请参见表2。 不同业务模型和实例规格下,针对弱一致性,预置1亿行数据量,测试的OPS*数据(表格中黑色字体),详见表2中加粗内容。 表2 测试数据 实例规格 4U16GB 8U32GB 16U64GB 32U128GB 业务模型编号 s1 18448 27976 33296 51920 业务模型编号 s2 9004 14565 19961 26589 业务模型编号 s3 15431 27476 32161 50332 业务模型编号 s4 14926 25745 33258 48924 业务模型编号 s5 11541 14272 17733 23160 业务模型编号 s6 15637 17452 27827 49384 *OPS:Operation Per Second,数据库每秒执行的操作数。 *业务模型编号:业务模型编号对应的业务模型,请参见表2。 父主题: 副本集
  • 测试模型 workload模型 表2 workload模型 workload模型编号 workload模型 S1 100% insert S2 90% update ,10% read S3 65% read ,25% insert, 10% update S4 90% read ,5% insert, 5% update S5 50% update, 50% read S6 100% read 测试并发数 :128 文档模型 使用Y CS B默认配置,每个文档大小1KB,默认“_id”索引。 预置数据量 本次性能测试中,针对每种规格的副本集,测试了2种预置数据量下的性能。 不同规格副本集的预置数据量不同,具体如下表所示。 表3 预置数据量 副本集编号 实例规格 预置小数据量 预置大数据量 被测副本集1 4U16GB 存储容量:10GB RecordCount:10000000 存储容量:100GB RecordCount:100000000 被测副本集2 8U32GB 存储容量:10GB RecordCount:10000000 存储容量:100GB RecordCount:100000000 被测副本集3 16U64GB 存储容量:10GB RecordCount:10000000 存储容量:100GB RecordCount:100000000 被测副本集4 32U128GB 存储容量:10GB RecordCount:10000000 存储容量:100GB RecordCount:100000000 数据一致性模型 弱一致性:Write Concern为{w : 1, j : false},数据写入单个节点磁盘,将返回结果。后台异步持久化下盘,为默认的Write Concern设置。
  • 测试环境 区域:华北-北京四 可用区:可用区一 弹性云服务器(Elastic Cloud Server,简称ECS):规格选择通用计算型s3.2xlarge.2,8U16GB,操作系统镜像使用CentOS 7.5 64位版本。 被测试副本集实例的规格:覆盖副本集实例支持的全部规格类型,详见表1。 表1 副本集规格 副本集编号 数据库版本 实例规格 被测副本集1 4.0 4U16GB 被测副本集2 4.0 8U32GB 被测副本集3 4.0 16U64GB 被测副本集4 4.0 32U128GB
共100000条