华为云用户手册

  • URI POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/chat 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String 机器人标识符,qabot编号,UUID格式。如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 获取方法: 登录对话机器人服务控制台,在智能问答机器人列表中查看qabot_id。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 list Array of ImageUrlResp objects 图片链接列表。 表4 ImageUrlResp 参数 参数类型 描述 id String 图片id。 name String 图片名称。 url String 访问地址。 resolution Resolution object 分辨率。 表5 Resolution 参数 参数类型 描述 x Integer 像素x。 y Integer 像素y。
  • 响应示例 状态码: 200 OK { "list" : [ { "id" : "f8b08136-9537-4ff8-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第一页" }, { "id" : "98559178-16c1-493b-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第二页" }, { "id" : "225d7e8a-d29d-4ad5-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第三页" }, { "id" : "d5adb76e-9ad0-4393-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第四页" }, { "id" : "4fea8fd5-6171-4b4a-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第五页" }, { "id" : "764df339-3e0f-4f4e-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第六页" }, { "id" : "b8f090cc-fc69-4b4d-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "第七页" } ] }
  • URI POST https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/upload/ppt 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 video_id 是 String 视频id。可以通过调用获取视频列表接口获取。
  • 响应示例 状态码:200 成功响应示例 { "interval":"day", "total":{ "session_count":122, "user_count":4, "avg_request_count":1.467, "avg_session_time":23909.836 }, "intervals":[ { "start":"2021-02-14", "session_count":8, "user_count":1, "avg_request_count":3.500, "avg_session_time":157500.000 }, { "start":"2021-02-15", "session_count":1, "user_count":1, "avg_request_count":2.000, "avg_session_time":2000.000 }, { "start":"2021-02-19", "session_count":113, "user_count":4, "avg_request_count":1.319, "avg_session_time":14646.018 } ], "startutc":1613059200000, "endutc":1613720965417, "time_zone":"+08:00" } 状态码:400 失败响应示例 { "error_code":"CBS.0021", "error_msg":"request parameter error" }
  • 请求示例 获取用户会话统计信息 GET https://cbs-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?interval=day&time_zone=%2B08%3A00 Request Header: Content-Type: application/json X-Auth-Token:MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone}" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} response = requests.get(url, headers=headers, json=body, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id等需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone}"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setDoInput(true); connection.setDoOutput(false); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • URI GET https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/session-stats?start_time={start_time}&end_time={end_time}&interval={interval}&time_zone={time_zone} 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String qabot_id,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 获取方法: 登录对话机器人服务控制台,在智能问答机器人列表中查看qabot_id。 表2 Query参数 参数 是否必选 描述 start_time 否 查询的起始时间,long,UTC时间,采用毫秒时间戳,默认值为0。 end_time 否 查询的结束时间,long,UTC时间,采用毫秒时间戳,默认值为当前时间的毫秒数。 interval 是 统计周期目前支持month、week、day。 time_zone 否 请求所在时区,例如:中国东八区为"+08:00";美国西五区为"-05:00";默认为"UTC"。(注意+-:符号需要经过urlEncoder加码)
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 interval String 统计周期目前支持year、month、week、day。 time_zone String 所在时区,默认为"utc"。例如:中国东八区为"+08:00";美国西五区为"-05:00"。 total SessionStatsTotal object 会话总计统计数据。调用失败时无此字段。 intervals Array of SessionStatsIntervals objects 会话间隔统计数据。调用失败时无此字段。 startutc Long 统计开始的utc时间。调用失败时无此字段。 endutc Long 统计结束的utc时间。调用失败时无此字段。 表5 SessionStatsTotal 参数 参数类型 描述 session_count Long 会话总数。 user_count Long 独立用户个数。 avg_request_count Double 平均会话轮数,保留小数点后三位。 avg_session_time Double 平均会话时长,保留小数点后三位。 表6 SessionStatsIntervals 参数 参数类型 描述 start String 间隔周期开始时间。 session_count Long 间隔周期会话总数。 user_count Long 间隔周期独立用户个数。 avg_request_count Double 间隔周期平均会话轮数,保留小数点后三位。 avg_session_time Double 间隔周期平均会话时长,保留小数点后三位。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。 Content-Type 是 String 消息体的类型(格式),参数值为“application/json”。 表3 请求Body参数 参数 是否必选 参数类型 描述 question 是 String 用户输入的问题,如果输入的question为空字符串返回结果为空。长度为1~512。 top 否 Integer 最多提示条数,默认为5,取值范围[1,10]。
  • 请求示例 获取“桌面云”问题的提示问题列表 POST https://{endpoint}/v1/41551a23c2be484cb0070631e323ee52/qabots/b36a01da-7fc2-43f8-8990-218e57a94420/suggestions Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "question":"桌面云", "top":2 } Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/suggestions" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} body = {"question":"桌面云","top":2} response = requests.post(url, headers=headers, json=body, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/suggestions"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); //输入参数 String body = "{\"question\":\"桌面云\",\"top\":2}"; OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); osw.append(body); osw.flush(); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • URI POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/suggestions 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String qabot编号,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 进入问答机器人的Console界面,在“机器人名称/ID”列显示对应的qabot_id。
  • 请求示例 标记问答结果为转人工操作 POST https://{endpoint}/v1/1604d8170cd84440a81281e5a3a04f8b/qabots/303a0a00-c88a-43e3-aa2f-d5b8b9832b02/requests/{request_id}/labor Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/labor" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} response = requests.post(url, headers=headers, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/labor"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • URI POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/labor 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String qabot编号,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 进入问答机器人的Console界面,在“机器人名称/ID”列显示对应的qabot_id。 request_id 是 String 请求ID,获取方式请参见响应参数中的request_id。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 request_id String 调用成功时的返回请求ID。 调用失败时无此字段。 updated_time String 转人工的时间。格式为“yyyy-MM-dd THH:mm:ssZ”。其中,T指某个时间的开始;Z指UTC时间。 调用失败时无此字段。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 响应示例 状态码: 200 OK { "id" : "c4f1d8a5-36b4-4076-xxx", "url" : "https://cbs-digital-human-cn-north-5.obs.cn-north-5.myhuaweicloud.com", "name" : "12345" } 状态码: 400 Bad Request { "error_code" : "CBS.0003", "error_msg" : "This resource Id:[33dbe0e2-bb9b-4efc-xxx] does not exist." } 状态码: 500 Internal Server Error { "error_code" : "CBS.0004", "error_msg" : "Internal Server Error" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 图片id。 name String 图片名称。 url String 访问地址。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 CBS.XXXX。 error_msg String 错误详情。
  • URI POST https://{endpoint}/v1/{project_id}/digital-human/video/{video_id}/upload/image 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 video_id 是 String 视频id。可以通过调用获取视频列表接口获取。 表2 Query参数 参数 是否必选 参数类型 描述 name 是 String 图片名。
  • 调用API获取项目ID 项目ID还用通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,例如,对话机器人服务部署的区域为“cn-north-4”,响应消息体中查找“name”为“cn-north-4”,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 请求示例 统计用户问关键词 GET https://cbs-ext.cn-north-4.myhuaweicloud.com/v1/{project_id}/qabots/{qabot_id}/requests/keywords Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/keywords?top={top}&start_time={start_time}&end_time={end_time}" token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} response = requests.get(url, headers=headers, json=body, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id等需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/keywords?top={top}&start_time={start_time}&end_time={end_time}"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setDoInput(true); connection.setDoOutput(false); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • 响应示例 状态码:200 成功响应示例 { "keywords": [ { "keyword":"桌面云", "freq":15 }, { "keyword":"弹性云服务器", "freq":15 } ] } 状态码:400 失败响应示例 { "error_code":"CBS.0021", "error_msg":"request parameter error" }
  • 响应参数 状态码: 200 表4 响应参数 参数 参数类型 描述 keywords Array of KeyWordsStat objects 指定时间范围内,用户问关键词列表。调用失败时无此字段。 表5 KeyWordsStat 参数 参数类型 描述 keyword String 关键词。 freq Long 关键词频次。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • URI GET https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/keywords?top={top}&start_time={start_time}&end_time={end_time} 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String qabot编号,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 获取方法: 登录对话机器人服务控制台,在智能问答机器人列表中查看qabot_id。 表2 Query参数 参数 是否必选 描述 top 否 用户问题关键词列表显示的个数。默认值为10,取值范围[1-50]。 start_time 否 查询的起始时间,long,UTC时间,采用毫秒时间戳,默认值为0。 end_time 否 查询的结束时间,long,UTC时间,采用毫秒时间戳,默认值为当前时间的毫秒数。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 调用成功时的返回请求ID。 调用失败时无此字段。 updated_time String 反馈满意度的时间。格式为“yyyy-MM-dd THH:mm:ssZ”。其中,T指某个时间的开始;Z指UTC时间。 调用失败时无此字段。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • URI POST https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/satisfaction 表1 路径参数 参数 是否必选 参数类型 描述 endpoint 是 String 终端节点,即调用API的请求地址。 不同服务不同区域的endpoint不同,您可以从终端节点中获取。 例如,CBS服务在“华北-北京四”区域的“endpoint”为“cbs-ext.cn-north-4.myhuaweicloud.com”。 project_id 是 String 项目ID,用于资源隔离。请参见获取项目ID。 qabot_id 是 String qabot编号,UUID格式,如:303a0a00-c88a-43e3-aa2f-d5b8b9832b02。 进入问答机器人的Console界面,在“机器人名称/ID”列显示对应的qabot_id。 request_id 是 String 请求ID,获取方式请参见响应参数中的request_id。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取Token接口响应消息头中X-Subject-Token的值即为Token。 Content-Type 是 String 消息体的类型(格式),参数值为“application/json”。 表3 请求Body参数 参数 是否必选 参数类型 描述 degree 是 Integer 满意度评分,当前仅支持二级评分,1表示满意,-1表示不满意,标注为不满意的问答会加入到未解决问题中。
  • 请求示例 对智能问答返回结果的满意度评价为满意 POST https://{endpoint}/v1/1604d8170cd84440a81281e5a3a04f8b/qabots/303a0a00-c88a-43e3-aa2f-d5b8b9832b02/requests/303a0a00-c88a/satisfaction Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "degree":1 } Python语言请求代码示例 import requests url = "https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/satisfaction" body = {"degree":1} token = "用户获取得到的实际token值" headers = {'Content-Type': 'application/json', 'X-Auth-Token': token} response = requests.post(url, headers=headers, json=body, verify=False) print(response.text) Java语言请求代码示例 import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; public class CBSDemo { public void cbsDemo() { try { //endpoint、projectId、qabot_id需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/qabots/{qabot_id}/requests/{request_id}/satisfaction"); String token = "用户获取得到的实际token值"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); //输入参数 String body = "{\"degree\":1}"; OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); osw.append(body); osw.flush(); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { CBSDemo CBSDemo = new CBSDemo(); CBSDemo.cbsDemo(); } }
  • 操作步骤 进入行业视频管理服务后台。 在华为账号登录框,单击“注册”,进入账号注册界面。 单击选中“华为账号”,在华为账号注册页面,输入手机号、验证码、密码并确认密码,单击“注册”。 如果需要注册行业视频管理账号,则单击选中“行业视频管理服务账号”,跳转至行业视频管理服务账号注册页面,参考注册行业视频管理服务账号进行创建。 此处注册的华为账号与创建华为云租户中注册的华为账号(华为云实名认证)不同。 此处的华为账号用于登录行业视频管理服务后台,创建企业后可以对所在企业或组织的人员、设备等进行管理。 创建华为云租户中的华为账号指真实的个人或企业登录华为云的账号信息,客户的基本信息、订单信息、费用信息都和客户的账号相关联。
  • 约束限制 XGPU功能仅在Nvidia Tesla T4、V100上支持。 HCE OS内核版本为5.10及以上版本。 GPU实例已安装535.54.03版本的NVIDIA驱动。 GPU实例已安装18.09.0-300或更高版本的docker。 XGPU服务的隔离功能不支持以UVM的方式申请显存,即调用CUDA API cudaMallocManaged(),更多信息,请参见NVIDIA官方文档。请使用其他方式申请显存,例如调用cudaMalloc()等。 受GPU虚拟化技术的限制,容器内应用程序初始化时,通过nvidia-smi监测工具监测到的实时算力可能超过容器可用的算力上限。 当CUDA应用程序创建时,会在GPU卡上申请一小部分UVM显存(在Nvidia Tesla T4上大约为3 MiB),这部分显存属于管理开销,不受XGPU服务管控。 暂不支持同时在裸机环境以及该环境直通卡的虚拟机中同时使用
  • XGPU服务使用示例 影响XGPU服务的环境变量如下表所示,您可以在创建容器时指定环境变量的值。容器引擎可以通过XGPU服务获得算力和显存。 表1 影响XGPU服务的环境变量 环境变量名称 取值类型 说明 示例 GPU_IDX Integer 指定容器可使用的GPU显卡。 为容器分第一张显卡: GPU_IDX=0 GPU_CONTAINER_MEM Integer 设置容器内可使用的显存大小,单位 MiB。 为容器分配的显存大小为5120MiB: GPU_CONTAINER_MEM=5120 GPU_CONTAINER_QUOTA_PERCENT Integer 指定显卡算力分配百分比。 算力支持最小1%粒度的划分,推荐最小算力不低于4%。 为容器分配50%的算力比例: GPU_CONTAINER_QUOTA_PERCEN=50 GPU_POLICY Integer 指定GPU使用的算力隔离的策略。 0:不隔离算力,即原生调度。 1:固定算力调度。 2:平均调度。 3:抢占调度。 4:权重抢占调度。 5:混合调度。 6:权重弱调度。 算力隔离策略示例详见XGPU算力调度示例。 设置算力隔离策略为固定算力调度:GPU_POLICY=1 GPU_CONTAINER_PRIORITY Integer 指定容器的优先级。 0:低优先级 1:高优先级 创建高优先级容器: GPU_CONTAINER_PRIORITY=1 以nvidia的docker创建两个容器为例,介绍XGPU服务的使用方法,数据规划如下。 表2 数据规划 参数 容器1 容器2 说明 GPU_IDX 0 0 指定两个容器使用第一张显卡。 GPU_CONTAINER_QUOTA_PERCENT 50 30 为容器1分配50%算力,为容器2分配30%算力。 GPU_CONTAINER_MEM 5120 1024 为容器1分配5120MiB显存,为容器2分配1024MiB显存。 GPU_POLICY 1 1 设置第一张显卡使用固定算力调度策略。 GPU_CONTAINER_PRIORITY 1 0 指定容器1为高优先级容器,容器2为低优先级容器。 配置示例: docker run --rm -it --runtime=nvidia -e GPU_CONTAINER_QUOTA_PERCENT=50 -e GPU_CONTAINER_MEM=5120 -e GPU_IDX=0 -e GPU_POLICY=1 -e GPU_CONTAINER_PRIORITY=1 --shm-size 16g -v /mnt/:/mnt nvcr.io/nvidia/tensorrt:19.07-py3 bash docker run --rm -it --runtime=nvidia -e GPU_CONTAINER_QUOTA_PERCENT=30 -e GPU_CONTAINER_MEM=1024 -e GPU_IDX=0 -e GPU_POLICY=1 -e GPU_CONTAINER_PRIORITY=0 --shm-size 16g -v /mnt/:/mnt nvcr.io/nvidia/tensorrt:19.07-py3 bash
  • 修订记录 发布日期 更新说明 2024-03-30 第八次正式发布 新增 HCE OS的REPO源配置与软件安装 修改 迁移操作,补充备份相关描述。 2023-12-30 第七次正式发布 修改 XGPU算力调度示例,补充权重弱调度(policy=6)内容。 动态加速,补充动态应用加速工具字符交互界面指令内容。 2023-11-10 第六次正式发布 新增 内核异常事件分析指南 动态加速 修改 约束限制,兼容性支持ko格式。 评估软件兼容性,支持扫描嵌套目录。 工具概述,新增支持EulerOS 2.9/2.10和HCE OS 2.0 ARM操作系统的兼容性评估。 冲突包列表,更新冲突包列表。 约束限制,增加约束限制。 概述,增加动态加速介绍,以及静态加速和动态加速的优缺点。 配置文件,增加动态加速配置文件及参数说明。 安装并使用XGPU、XGPU算力调度示例,增加混部调度相关描述。 制作Docker镜像并启动容器,修改约束限制以及完善操作步骤内容。 评估软件兼容性,补充ARM架构软件兼容性扫描示例内容。 迁移操作,迁移工具安装包版本号更新以及修改系统迁移说明内容。 约束限制,修改约束限制。 约束限制,修改约束限制。 安装并使用XGPU,修改约束限制。 2023-08-03 第五次正式发布 修改 准备工作,增加motd_setup参数。 OSMT命令帮助信息,增加--nocheck参数。 HCE OS获取openEuler扩展软件包,更新操作步骤。 概述、静态加速,支持hce-wae-auto命令优化应用程序,增加相关内容。 XGPU共享技术概述,算力支持力度由5%优化至1%,修改对应描述;增加“XGPU功能仅在Nvidia Tesla T4、V100、A100、A30、A40、A800上支持”的约束限制。 安装并使用XGPU,增加GPU_POLICY、GPU_CONTAINER_PRIORITY、max_inst、priority参数及相关内容;算力隔离的策略由0~1优化至0~4;增加“通过xgpu-smi工具监控容器”内容。 增加 制作Docker镜像并启动容器 配置文件 XGPU算力调度示例 2023-03-30 第四次正式发布。 增加 Pod带宽管理工具 内核功能与接口 内核memory的OOM进程控制策略 内核memory的多级内存回收策略 内核cpu cgroup的多级混部调度 XGPU共享技术 XGPU共享技术概述 安装并使用XGPU 修改 冲突包列表,补充CentOS 8.4/8.5的冲突包列表。 约束限制,补充约束限制。 准备工作、/etc/osmt/osmt.conf配置文件说明,增加preinstalled_only、recover_service参数,更新osmt.conf配置文件内容。 OSMT命令帮助信息,增加-V, --verbose、-o, --preinstalled-only、-t, --retry、-c, --cancel参数。 静态加速,更新操作步骤。 删除 应用加速工具中的“常见问题”章节 perf工具 2023-01-17 第三次正式发布。 增加 约束限制 升级后续操作 工具类 修改 冲突包列表,增加CentOS 8.3冲突包列表。 使用dnf或yum命令升级,更新dnf list updates命令,补充操作步骤3。 约束限制,补充约束限制。 版本升级和回退,优化操作步骤。 准备工作,更新osmt.conf配置,补充参数项及描述。 osmt update命令更新,优化操作步骤。 osmt-agent服务自动更新,优化操作步骤。 回退RPM包,补充回退说明。 2022-10-20 第二次正式发布。 增加 x2hce-ca应用兼容性评估章节。 将操作系统迁移至HCE OS 1.1章节。 升级概述章节。 使用OSMT工具升级章节 附录章节。 对HCE OS进行安全更新章节。 修改 迁移操作,适配HCE OS 2.0能力,修改迁移操作。 冲突包列表,增加HCE OS、EulerOS冲突包列表。 使用dnf或yum命令升级,对内容适配,支持HCE OS 1.1版本的RPM升级。 2022-07-15 第一次正式发布。
共100000条