云服务器内容精选

  • 接口功能 设备发放平台设备侧支持MQTT协议的connect消息接口,接口规范参考MQTT标准规范,鉴权通过后建立设备与平台间的MQTT连接。 设备发放平台目前只支持MQ TTS 接入,设备通过connect消息接口和平台建立MQTT连接时,需要使用服务端CA证书验证服务端证书。服务端CA证书单击huaweicloud-iot-root-ca-list获取证书文件压缩包。 根据您使用的工具或语言取用压缩包内的证书文件: IoT Device SDK(C/C#)、MQTT.fx工具:使用压缩包中c目录下以pem或crt为后缀的文件; IoT Device SDK(Java):使用压缩包中java目录下以jks为后缀的文件; IoT Device SDK(Android):使用压缩包中android目录下以bks为后缀的文件。
  • 参数说明 表1 设备发放参数说明列表 参数 必选/可选 类型 参数描述 clientId 必选 String(256) 注册组选择非华为云证书场景: 设备clientId由3个部分组成:设备ID、设备身份标识类型、用户标识ID(ScopeID)。通过下划线“_”分隔,设备身份标识类型固定值为0 例:5f052ac562369102d42b0fb6_0_ff5bbx7a488f 其他场景: 设备clientId由4个部分组成:设备ID、设备身份标识类型、密码签名类型、时间戳。通过下划线“_”分隔,设备身份标识类型固定值为0 密码签名类型:长度1字节,当前支持2种类型: “0”代表HMA CS HA256不校验时间戳。 “1”代表HMACSHA256校验时间戳。 时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC 时间2018/7/24 17:56:20 则应表示为2018072417。 例:5f052ac562369102d42b0fb6_0_0_2019122614 Username 必选 String(256) 设备ID。 Password 必选 String(256) Password的值为使用“HMACSHA256”算法以时间戳为密钥,对secret进行加密后的值(secret为注册设备时平台返回的secret)。 当设备认证类型使用密钥认证接入(SECRET)需填写“Password”,证书认证接入(CERTIFICATES)不需填写“Password”。 注:ScopeID可以在设备发放页面点击注册组查询,如下图所示。 设备通过MQTT协议的connect消息进行鉴权,对于构造clientId的各个部分信息都必须包括进去,平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。 当采用“HMACSHA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。 当采用“HMACSHA256”不校验时间戳方式时,鉴权消息也必须带时间戳,但不检验时间是否准确,仅判断密码是否正确。 connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。 访问参数生成工具,填写注册设备后生成的设备ID(DeviceId)和密钥(DeviceSecret),生成设备连接鉴权所需的参数(ClientId、Username、Password)。
  • 响应说明 当调用本接口响应失败,则返回相应的错误码信息,错误码响应数据结构请查看表3。 表3 响应消息体参数说明 序号 名称 参数类型 说明 1 resultCode String 请求返回的结果码。取值范围: 0为成功 1为失败 2 description String 请求结果描述。 3 datas List 请求结果对象,参数说明详见表4 表4 datas对象参数说明 序号 名称 参数类型 说明 1 coluKngId String 栏目知识id。 2 coluKngName String 栏目知识名称。 3 coluKngType String 栏目知识类型。 4 beyondColuId Number 所属栏目ID。首层栏目的所属栏目ID为0 5 beyondColuPath Number 所属栏目路径。首层栏目所属路径为/ 6 coluType Number 栏目类型。 7 code Number 栏目编码。为栏目或者知识在栏目知识树上的节点编码。 8 superCode Number 栏目上级编码。 9 id String AppCube id。
  • 报文样例 请求头 Content-Type: application/json;charset=UTF-8 X-TenantSpaceID:******** Authorization: ****************** 请求参数 { "beyondColuId": "0" } 响应参数 { "returnCode": "0", "description": "success", "datas": [ { "coluKngName": "lzd0916父栏目", "code": "001", "coluType": 1, "coluKngType": 1, "superCode": "-1", "id": "caBE000000wqY7oYeYPA", "beyondColuId": "0", "beyondColuPath": "/", "coluKngId": "63e3e4b42c94482b95e04e911f497fbb" } ] }
  • 请求说明 表1 请求消息头参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 Content-Type String True 无 固定填 application/json;charset=UTF-8(两种鉴权方式都填写)。 2 X-TenantSpaceID String True 无 租户id(SIA鉴权填写)。 3 X-Access-Token String True 无 生成方式参见SIA鉴权(SIA鉴权填写)。 4 Authorization String True 无 生成方式参见知识库类接口鉴权方式(AKSK鉴权填写)。 表2 请求消息体参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 beyondColuId String True 无 所属栏目ID。首层栏目的所属栏目ID为0 2 ccId Number False 无 呼叫中心id。AKSK鉴权必填。 3 vdn Number False 无 vdnId。AKSK鉴权必填。
  • 请求说明 表1 请求消息头参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 Content-Type String True 无 固定填 application/json;charset=UTF-8(两种鉴权方式都填写)。 2 X-TenantSpaceID String True 无 租户id(SIA鉴权填写)。 3 X-Access-Token String True 无 生成方式参见SIA鉴权(SIA鉴权填写)。 4 Authorization String True 无 生成方式参见知识库类接口鉴权方式(AKSK鉴权填写)。 表2 请求消息体参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 coluKngId String True 无 栏目知识id。 2 openType String True 无 知识打开途径。取值范围: 1:快捷入口 2:搜索 3:栏目 4:收藏夹 5:关联知识 3 openKng String False 无 openType为5时必填。关联知识id。 4 searchRank String False 1 openType为2时必填。检索结果序号。 5 searchSortType String False 无 openType为2时必填。检索排序方式,取值范围: hit:命中率 modifyTime:更新时间 clickNum:点击量 bidRankId:竞价排行 6 searchWord String False 无 openType为2时必填。关键字。 7 ccId Number False 无 呼叫中心id。AKSK鉴权必填。 8 vdn Number False 无 vdnId。AKSK鉴权必填。
  • 响应说明 当调用本接口响应失败,则返回相应的错误码信息,错误码响应数据结构请查看表3。 表3 响应消息体参数说明 序号 名称 参数类型 说明 1 resultCode String 请求返回的结果码。取值范围: 0为成功。 1为失败。 2 description String 请求结果描述。 3 data Object 请求结果对象,参数说明详见表4 表4 data对象参数说明 序号 名称 参数类型 说明 4.1 relVersionNum String 发布版本号。 4.2 coluType String 栏目类型。取值范围: 1:正常栏目 2:历史栏目 (只有栏目知识类型为栏目时才有意义) 4.3 code String 栏目编码。为栏目或者知识在栏目知识树上的节点编码。 4.4 coluKngType Number 栏目知识类型。取值范围: 1:栏目 2:普通知识 3:问答知识 4.5 creationTime Number 创建时间。 4.6 releaseTimes Number 知识发布次数。 4.7 orderId Number 排序编号。 4.8 kngStatus Number 知识状态。取值范围: 1:新建 2:审核 3:发布 4:更新 5:驳回 4.9 kngSize Number 知识内容的大小。单位为KB。 4.10 creatorId String 创建人工号。 4.11 modifierId String 修改人工号。 4.12 beyondColuPath String 所属栏目路径。首层栏目所属路径为/。 4.13 coluKngName String 栏目知识名称。 4.14 modifyTime Number 修改时间。 4.15 validEndTime Number 有效期结束时间。 4.16 summaryInfo String 概要信息。 4.17 serviceStatus Number 业务状态。取值范围: 1:普通 2:热点 3:新业务 4:更新业务 5:过期 4.18 clickNum Number 点击次数。 4.19 servicesEndTime Number 业务有效期结束时间。 4.20 keyword String 关键字。 4.21 coluKngId String 栏目知识id。 4.22 curVersionNum Number 当前版本号。 4.23 validStartTime Number 有效期开始时间。 4.24 displayFlag Number 栏目知识展示标志。取值范围: 0:不展示 1:展示 4.25 kngPath String 知识路径。 4.26 superCode String 栏目上级编码。 4.27 beyondColuId String 所属栏目ID。首层栏目的所属栏目ID为0 4.28 servicesStartTime Number 业务有效期开始时间。 4.29 partdbId String 分区id。 4.30 tenantId String 租户id。 4.31 creatorName String 创建人名称 4.32 pre Object 上一个知识。参数说明详见表5 4.33 next Object 下一个知识。参数说明详见表5 4.34 kngContent String 知识内容。 4.35 kngFiles List 附件列表。参数说明详见表6 4.36 relaKngs List 关联知识列表。参数说明详见表7 表5 pre/next对象参数说明 序号 名称 参数类型 说明 1 coluKngId String 栏目知识id。 2 coluKngName String 栏目知识名称。 3 coluKngType Number 栏目知识类型。取值范围: 1:栏目 2:普通知识 3:问答知识 表6 kngFiles对象参数说明 序号 名称 参数类型 说明 1 adjKey String 附件key。 2 creationTime String 创建时间戳。 3 orderId String 排序编号。 4 versionNum Number 版本号。 5 adjId String 附件id。 6 kngId String 知识id。 7 creatorId String 创建人工号 8 adjName String 附件名称。 9 adjClass Number 附件类别。取值范围: 1:内置(属于知识的一部分,比如插入到知识内容中的图片、FLASH文件) 2:外置(上传的知识附件) 10 adjSize Number 文件大小。 11 partdbId Number 分区id。 12 tenantId String 租户id。 13 adjType String 附件类型。 表7 relaKngs对象参数说明 序号 名称 参数类型 说明 1 coluKngId String 栏目知识id。 2 coluKngName String 栏目知识名称。 3 coluKngType Number 栏目知识类型。取值范围: 1:栏目 2:普通知识 3:问答知识 4 serviceStatus Number 业务状态。取值范围: 1:普通 2:热点 3:新业务 4:更新业务 5:过期
  • 响应说明 当调用本接口响应失败,则返回相应的错误码信息,错误码响应数据结构请查看表3。 表3 响应消息体参数说明 序号 名称 参数类型 说明 1 resultCode String 请求返回的结果码。取值范围: 0为成功 1为失败 2 description String 请求结果描述。 3 data Object 请求结果对象,参数说明详见表4 表4 data对象参数说明 序号 名称 参数类型 说明 1 url String 当前知识附件obs下载地址
  • 报文样例 请求头 Content-Type: application/json;charset=UTF-8 X-TenantSpaceID:******** Authorization: ****************** 请求参数 { "fileKey": "1286999405181796356", "kngId": "1286999404577816579" } 响应参数 { "returnCode": "0", "description": "success", "url": "https://aicc-develop-lab.obs.cn-north-1.myhuaweicloud.com:443/ccikbs/file/202209065604/9bda03e5-a538-404a-b719-869575b56edd?AccessKeyId=22QW**********B0GF&Expires=1665650432&Signature=tQMT**********pE%3D" }
  • 请求说明 表1 请求消息头参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 Content-Type String True 无 固定填 application/json;charset=UTF-8(两种鉴权方式都填写)。 2 X-TenantSpaceID String True 无 租户id(SIA鉴权填写)。 3 X-Access-Token String True 无 生成方式参见SIA鉴权(SIA鉴权填写)。 4 Authorization String True 无 生成方式参见知识库类接口鉴权方式(AKSK鉴权填写)。 表2 请求消息体参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 kngId String True 无 知识id。参数值为APPCube数据库的数据表中的AICC_kngId_CST字段值,具体数据表根据知识状态查询AICC__Ikbs_Kngadjedit__CST、AICC__Ikbs_Columnknghis__CST或者AICC__Ikbs_Kngadjpre__CST表。 2 fileKey String True 无 文件id。参数值为APPCube数据库的数据表中的AICC_adjKey_CST字段值,具体数据表根据知识状态查询AICC__Ikbs_Kngadjedit__CST、AICC__Ikbs_Columnknghis__CST或者AICC__Ikbs_Kngadjpre__CST表。 3 ccId Number False 无 呼叫中心id。AKSK鉴权必填。 4 vdn Number False 无 vdnId。AKSK鉴权必填。
  • 接口功能 设备发放平台设备侧支持MQTT协议的connect消息接口,接口规范参考MQTT标准规范,鉴权通过后建立设备与平台间的MQTT连接。 设备发放平台目前只支持MQTTS接入,设备通过connect消息接口和平台建立MQTT连接时,需要使用服务端CA证书验证服务端证书。服务端CA证书单击huaweicloud-iot-root-ca-list获取证书文件压缩包。 根据您使用的工具或语言取用压缩包内的证书文件: IoT Device SDK(C/C#)、MQTT.fx工具:使用压缩包中c目录下以pem或crt为后缀的文件; IoT Device SDK(Java):使用压缩包中java目录下以jks为后缀的文件; IoT Device SDK(Android):使用压缩包中android目录下以bks为后缀的文件。
  • 参数说明 表1 设备发放参数说明列表 参数 必选/可选 类型 参数描述 clientId 必选 String(256) 注册组选择非华为云证书场景: 设备clientId由3个部分组成:设备ID、设备身份标识类型、用户标识ID(ScopeID)。通过下划线“_”分隔,设备身份标识类型固定值为0 例:5f052ac562369102d42b0fb6_0_ff5bbx7a488f 其他场景: 设备clientId由4个部分组成:设备ID、设备身份标识类型、密码签名类型、时间戳。通过下划线“_”分隔,设备身份标识类型固定值为0 密码签名类型:长度1字节,当前支持2种类型: “0”代表HMACSHA256不校验时间戳。 “1”代表HMACSHA256校验时间戳。 时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC 时间2018/7/24 17:56:20 则应表示为2018072417。 例:5f052ac562369102d42b0fb6_0_0_2019122614 Username 必选 String(256) 设备ID。 Password 必选 String(256) Password的值为使用“HMACSHA256”算法以时间戳为密钥,对secret进行加密后的值(secret为注册设备时平台返回的secret)。 当设备认证类型使用密钥认证接入(SECRET)需填写“Password”,证书认证接入(CERTIFICATES)不需填写“Password”。 注:ScopeID可以在设备发放页面点击注册组查询,如下图所示。 设备通过MQTT协议的connect消息进行鉴权,对于构造clientId的各个部分信息都必须包括进去,平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。 当采用“HMACSHA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。 当采用“HMACSHA256”不校验时间戳方式时,鉴权消息也必须带时间戳,但不检验时间是否准确,仅判断密码是否正确。 connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。 访问参数生成工具,填写注册设备后生成的设备ID(DeviceId)和密钥(DeviceSecret),生成设备连接鉴权所需的参数(ClientId、Username、Password)。
  • 响应消息 响应参数说明请参见表4。 表4 响应参数说明 参数名 参数类型 说明 src_text String 调用成功时表示翻译原文,编码格式为UTF-8。 调用失败时无此字段。 translated_text String 调用成功时表示翻译译文,编码格式为UTF-8。 调用失败时无此字段。 from String 调用成功时表示源语种(源语种输入为auto时,显示语种识别结果),编码格式为UTF-8。 调用失败时无此字段。 to String 调用成功时表示目标语种,编码格式为UTF-8。 调用失败时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 响应示例 成功响应示例 { "src_text": "欢迎使用 机器翻译 服务", "translated_text": "Welcome to use machine translation services", "from": "zh", "to": "en" } 失败响应示例 { "error_code": "NLP.0101", "error_msg": "Authentication failed. Verify the token." }
  • 请求示例 请求示例(文本翻译) POST https://{endpoint}/v1/{project_id}/machine-translation/text-translation Request Header: Content-Type:application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "text": "欢迎使用机器翻译服务", "from": "zh", "to": "en", "scene":"common" } Python3语言请求代码示例(翻译中文"欢迎使用机器翻译服务"为英文) # -*- coding: utf-8 -*- # 此demo仅供测试使用,建议使用sdk。需提前安装requests,执行pip install requests import requests import json def nlp_demo(): url = 'https://{endpoint}/v1/{project_id}/machine-translation/text-translation' # endpoint和project_id需替换 token = '用户对应region的token' header = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = { 'text': '欢迎使用机器翻译服务', 'from': 'zh', 'to': 'en', 'scene': 'common' } resp = requests.post(url, data=json.dumps(body), headers=header) print(resp.json()) if __name__ == '__main__': nlp_demo() Java语言请求代码示例(翻译英文"It is a good day"为中文) import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; /** * 此demo仅供测试使用,建议使用sdk */ public class NLPDemo { public void nlpDemo() { try { //endpoint和projectId需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/machine-translation/text-translation"); String token = "对应region的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 text = "It is a good day"; String from = "en"; String to = "zh"; String body = "{\"text\":\"" + text + "\" ,\"from\":\"" + from + "\" ,\"to\":\"" + to + "\" ,\"scene\":\"common\"}"; 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) { NLPDemo nlpDemo = new NLPDemo(); nlpDemo.nlpDemo(); } }