云服务器内容精选

  • 参数说明 表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)。
  • 接口功能 设备发放平台设备侧支持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”代表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)。
  • 接口功能 设备发放平台设备侧支持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为后缀的文件。
  • 响应说明 当调用本接口响应失败,则返回相应的错误码信息,错误码响应数据结构请查看表3。 表3 响应消息体参数说明 序号 名称 参数类型 说明 1 resultCode String 请求返回的结果码。取值范围: 0为成功 1为失败 2 description String 请求结果描述。 3 data Object 请求结果对象,参数说明详见表4 表4 data对象参数说明 序号 名称 参数类型 说明 1 total String 查询数量。 2 results List 参数说明详见表5 表5 results对象参数说明 序号 名称 参数类型 说明 1 adjs String 栏目知识附件。 2 code String 栏目编码。为栏目或者知识在栏目知识树上的节点编码。 3 coluKngType String 栏目知识类型。取值范围: 1:栏目 2:普通知识 3:问答知识 4 orderId String 排序编号。 5 creatorId String 创建人工号。 6 modifierId String 修改人工号。 7 creatorName String 创建人名称。 8 beyondColuPath String 所属栏目路径。首层栏目所属路径为/。 9 contentInfo String 知识内容。 10 coluKngName String 栏目知识名称。 11 modifyTime Number 修改时间。 12 validEndTime Number 有效期结束时间。 13 summaryInfo String 概要信息。 14 serviceStatus Number 业务状态。取值范围: 1:普通 2:热点 3:新业务 4:更新业务 5:过期 15 clickNum Number 点击次数。 16 keyword String 关键字。 17 coluKngId String 栏目知识id。 18 curVersionNum Number 当前版本号。 19 validStartTime Number 有效期开始时间。 20 kngPath String 知识路径。 21 superCode String 栏目上级编码。 22 beyondColuId String 父栏目id。 23 createTime Number 创建时间。 24 kngAdj String 栏目知识附件。 25 tenantId String 租间id。
  • 请求说明 表1 请求消息头参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 Content-Type String True 无 固定填 application/json;charset=UTF-8。 2 X-TenantSpaceID String True 无 租户id。 3 X-Access-Token String True 无 生成方式参见SIA鉴权(SIA鉴权填写)。 4 Authorization String True 无 生成方式参见知识库类接口鉴权方式(AKSK鉴权填写)。 5 userId String True 无 用户ID。 表2 请求消息体参数说明 序号 名称 参数类型 是否必选 默认值 说明 1 keyword String True 无 关键字。 2 offset Number True 无 分页查询偏移量,默认值0,即不需要偏移。 3 limit Number True 无 分页查询时单页最多的记录条数。 4 code String False 无 栏目编码。为栏目或者知识在栏目知识树上的节点编码。 5 coluKngType String False 无 栏目知识类型。取值范围: 1:栏目 2:普通知识 3:问答知识 6 startTime Number False 无 开始时间。(时间戳) 7 endTime Number False 无 结束时间。(时间戳) 8 ccId Number False 无 呼叫中心id。AKSK鉴权必填。 9 vdn Number False 无 vdnId。AKSK鉴权必填。
  • 请求示例 请求示例(文本翻译) 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(); } }
  • 响应消息 响应参数说明请参见表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." }
  • 功能介绍 文本翻译是为了实现语种间的转换。对于用户输入原始语种的文本,转换为目标语种的文本。本接口不支持对文档进行翻译,文档翻译请见文档翻译任务创建。 文本翻译支持一次性提交多个任务,服务会根据资源排队处理。 文本翻译接口具体Endpoint请参见终端节点。 调用华为云NLP服务会产生费用,本API按字符数阶梯计费,文本翻译不支持套餐包抵扣,用户可以在 自然语言处理 价格计算器价格详情页了解具体计费说明。 本API调用限制为20次/秒。
  • 请求消息 请求参数说明请参见表2。 表2 请求参数说明 参数名 参数类型 必选 说明 text String 是 待翻译文本,仅支持utf-8编码,长度不超过2000字符。一个汉字、英文字母、标点符号等,均计为一个字符。 from String 是 翻译原语言,具体取值见表3。 to String 是 翻译目标语言,具体取值见表3。 scene String 否 默认为“common”,当前只有通用场景。 表3 文本翻译支持的语言列表 语种名称 语言代码 阿拉伯语 ar 德语 de 俄语 ru 法语 fr 韩语 ko 葡萄牙语 pt 日语 ja 泰语 th 土耳其语 tr 西班牙语 es 英语 en 越南语 vi 中文(简体) zh 自动检测输入语种并翻译成目标语种,您需要指定目标语种。 auto
  • 响应消息 响应参数说明请参见表4。 表4 响应参数说明 参数名 参数类型 说明 detected_language String 调用成功时表示调用结果,编码格式为UTF-8,语种取值请见表3。 当输入文本过短或不明确时,识别结果可能不准确; 当输入文本包含多种语言时,会返回占比最高的语种。 调用失败时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求示例 请求示例(识别"欢迎使用机器翻译服务"的语种) POST https://{endpoint}/v1/{project_id}/machine-translation/language-detection Request Header: Content-Type:application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "text": "欢迎使用机器翻译服务" } 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/language-detection' # endpoint和project_id需替换 token = '用户对应region的token' header = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = { 'text': '欢迎使用机器翻译服务' } 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/language-detection"); 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 body = "{\"text\":\"" + text + "\"}"; 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(); } }
  • 请求消息 请求参数说明请参见表2。 表2 请求参数说明 参数名 参数类型 必选 说明 text String 是 需要识别语种的文本,具体支持的语种请参见表3。 仅支持utf-8编码,长度不超过2000字符。一个汉字、英文字母、标点符号等,均计为一个字符。 表3 语种识别支持的语言列表 语种名称 语言代码 阿拉伯语 ar 爱沙尼亚语 et 保加利亚语 bg 冰岛语 is 波兰语 pl 波斯尼亚语 bs 波斯语 fa 丹麦语 da 德语 de 俄语 ru 法语 fr 芬兰语 fi 高棉语 km 韩语 ko 加泰罗尼亚语 ca 捷克语 cs 克罗地亚语 hr 拉脱维亚语 lv 立陶宛语 lt 罗马尼亚语 ro 马耳他语 mt 马来西亚语 ms 北马其顿语 mk 孟加拉语 bn 缅甸语 my 南非荷兰语 af 挪威语 no 葡萄牙语 pt 日语 ja 瑞典语 sv 塞尔维亚语 sr 斯洛伐克语 sk 斯洛文尼亚语 sl 斯瓦希里语 sw 泰语 th 土耳其语 tr 威尔士语 cy 乌尔都语 ur 乌克兰语 uk 西班牙语 es 希伯来语 he 希腊语 el 匈牙利语 hu 意大利语 it 印地语 hi 印尼语 id 英语 en 越南语 vi 中文 zh 无法识别语种 unk
  • 请求示例 请求示例(开启词性标注功能进行分词,支持PKU分词规范) “endpoint”、“project_id”、“token”等请求参数获取方式可参考快速入门,参数详情请见构造请求。 Request Header: Content-Type: application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "text":"今天天气真好", "pos_switch":1, "lang":"zh", "criterion":"PKU" } Python3语言请求代码示例(开启词性标注功能进行分词,支持PKU分词规范) # -*- coding: utf-8 -*- # 此demo仅供测试使用,建议使用sdk。需提前安装requests,执行pip install requests import requests import json def nlp_demo(): url = 'https://{endpoint}/v1/{project_id}/nlp-fundamental/segment' # endpoint和project_id需替换 token = '用户对应region的token' header = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = { 'text': '今天天气真好', 'pos_switch': 1, 'lang': 'zh', 'criterion': 'PKU' } resp = requests.post(url, data=json.dumps(body), headers=header) print(resp.json()) if __name__ == '__main__': nlp_demo() Java语言请求代码示例(开启词性标注功能进行分词,支持PKU分词规范) 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}/nlp-fundamental/segment"); 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 = "订单记录怎么删除"; String body = "{\"text\":\"" + text + "\",\"pos_switch\":1 ,\"lang\":\"zh\",\"criterion\":\"PKU\"}"; 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(); } }