华为云用户手册

  • Token消息体中user name,domain name和project name分别指的是什么 user name指用户名称,domain name指用户所属的账号名称。如果是账号获取token,账号的user name和domain name相同。如果是 IAM 用户获取token(账号可以创建多个IAM用户),user name和domain name不相同,user name为实际的用户名称。 project name指项目名称,如“cn-north-4”。。 父主题: API使用类
  • There was a bad response from the server报错 调用API时,出现There was a bad response from the server报错。表示无法正常连接到SIS服务。 请先检查您的华为云账号是否已经进行了实名认证。 如果您的网络环境异常也会引发该报错,请确保您的网络连接正常,可以访问SIS服务。如果使用的是局域网或内部网络,请确保可以正常访问公网。 网络环境如果正常,请检查代码示例中endpoint、url、请求参数、请求头是否设置正确。 父主题: 错误码类
  • 安装包部署 添加边缘应用-应用配置 部署方式选择安装包部署 添加边缘应用-软件和运行配置 安装包地址为{桶名/对象名}。 如桶名为edge-monitor,对象名为monitor-app.zip, 则安装包为edge-monitor/monitor-app.zip。 添加边缘应用-端点和部署配置同容器化部署 根据需要进行配置。 输入端点输出端点与demo中的设置对应,如monitor-app中输入与输出端点设置为input和output,则配置为: 输入端点:input。 输出端点:output。 输入输出端点是非必需配置的,当有数据流转时需要配置,如OT应用(数据处理)。 驱动类应用和IT应用一般不需要配置。 配置确认,填写基本信息 单击“确认添加”,完成应用的创建;单击"立即发布",完成应用创建并发布新版本
  • edge.h的接口函数介绍 所有接口函数定义的数据结构均呈现在edge_struct.h头文件中。 1. 初始化 接口描述: int edge_init(const char* workdir) 接口功能: 初始化sdk的工作环境,加载证书、读取配置等 表13 参数说明 参数名称 类型 参数描述 示例 workdir workdir 初始化文件所在目录,conf目录所在的目录,conf是存放证书文件以及日志配置的目录 conf在/code/api_test/workdir目录下,就填写/code/api_test/workdir 2. 注册回调接口 接口描述: int edge_set_callbacks(ST_MODULE_CBS* module_cbs, ST_DEVICE_CBS* device_cbs) 接口功能: 注册回调接口,登录、子设备添加、删除、设备消息、设备命令等都是异步通知的,故需要注册对应的处理函数。 表14 参数说明 参数名称 类型 参数描述 module_cbs ST_MODULE_CBS 模块回调函数结构体 device_cbs ST_DEVICE_CBS 设备回调函数结构体 表15 ST_MODULE_CBS模块相关的回调函数说明 参数名称 类型 参数描述 pfn_shadow_cb FN_SHADOW_ARRIVED* 模块影子回调函数类型,模块的配置可以使该接口接收 pfn_command_cb FN_COMMAND_ARRIVED* 发送到模块的命令的接收函数声明, pfn_connected FN_SDK_CONNECTED SDK连接到边缘hub的回调函数声明 pfn_disconnected FN_SDK_DISCONNECTED SDK和边缘hub断链的回调函数声明 表16 ST_DEVICE_CBS子设备相关的回调函数 参数名称 类型 参数描述 pfn_device_message_cb FN_MESSAGE_ARRIVED* 子设备消息回调 pfn_device_command_cb FN_COMMAND_ARRIVED* 子设备命令回调 pfn_device_event_cb FN_DEVICE_EVENT_ARRIVED* 子设备事件回调 pfn_sub_device_add_cb FN_SUB_DEVICE_ADD_ARRIVED* 子设备添加通知回调 pfn_sub_device_deleted_cb FN_SUB_DEVICE_DELETED_ARRIVED* 子设备删除通知回调 pfn_on_start_scan_cb FN_START_SCAN_ARRIVED* 收到子设备扫描通知回调 pfn_device_properties_set_cb FN_DEVICE_PROPERTIES_SET_ARRIVED* 收到子设备属性设置通知回调 pfn_device_properties_get_cb FN_DEVICE_PROPERTIES_GET_ARRIVED* 收到子设备属性获取通知回调 pfn_device_shadow_cb FN_DEVICE_SHADOW_ARRIVED* 收到子设备影子
  • edge.h回调函数说明 模块影子数据回调 函数描述: typedef EDGE_RETCODE (FN_SHADOW_ARRIVED)(const char* shadow, unsigned int shadow_len); 函数功能: 当下发模块配置时,通过此函数通知到用户,用户应用的配置也通过此函数通知。 表2 参数说明 参数名称 类型 参数描述 示例 shadow char* 模块影子数据(json字符串),第三方应用下发用户的配置数据 { “config”:”test” } shadow_len unsigned int 影子数据的长度 - 命令下发回调 函数描述: typedef EDGE_RETCODE (FN_COMMAND_ARRIVED)(const char* command_name, const char* device_id, const char* service_id, const char* request_id, const char* body, unsigned int body_len); 函数功能: 此函数声明用户命令下发通知,设备命令下发即使用此函数声明。 表3 参数说明 参数名称 类型 参数描述 command_name char* 设备命令名称,在设备关联的产品模型中定义。 device_id char* 命令对应的目标设备ID,命令下发对应的最终目标设备 service_id char* 设备的服务ID,在设备关联的产品模型中定义 request_id char* {request_id}用于唯一标识这次请求,响应该命令时需要带上。 body char* json字符串,设备命令的执行参数,具体字段在设备关联的产品模型中定义 body_len unsigned int - 消息下发回调 函数描述: typedef EDGE_RETCODE (FN_MESSAGE_ARRIVED)(const char* message_id, const char* message_name, const char* device_id, const char* body, unsigned int body_len); 函数功能: 此函数声明用于消息下发通知,平台使用此接口承接平台下发给设备的自定义格式的数据。 表4 参数说明 参数名称 类型 参数描述 message_id char* 消息名称 message_name char* 消息的唯一标识 device_id char* 命令对应的目标设备ID,命令下发对应的最终目标设备 body char* 消息内容。 body_len unsigned int 消息长度 事件下发回调 函数描述: typedef EDGE_RETCODE (FN_DEVICE_EVENT_ARRIVED)(const char* device_id, const char* body, unsigned int body_len); 函数功能: 此函数声明用于事件下发通知,平台使用此接口承接平台下发给设备的自定义格式的数据。 表5 参数说明 参数名称 类型 参数描述 示例 device_id char* 命令对应的目标设备ID,命令下发对应的最终目标设备 - body char* 事件内容。 { "object_device_id":"deviceId", "services":[ { "service_id":"serviceTest", "event_id":"eventTest", "event_type":"eventTypeTest", "event_time":"time", "paras":{ "test":"test" } } ] } body_len unsigned int 消息长度 - 子设备添加回调 函数描述: typedef EDGE_RETCODE (FN_SUB_DEVICE_ADD_ARRIVED)(const char* addSubDeviceInfo, unsigned int body_len); 函数功能: 此函数声明用于通知子设备添加,使用此接口承接平台添加成功子设备的通知。 表6 参数说明 参数名称 类型 参数描述 示例 addSubDeviceInfo char* 添加成功的子设备信息,具体格式见示例 {"devices": [{"parent_device_id":"c6b39067b03421a48", "node_id": "subdevice11", "device_id":"2bb77-063ad2f5a6cc", "name": "subDevice11", "description": null, "product_id":"c6b3b34663d3ea42f6", "fw_version": null, "sw_version": null, "status": "ONLINE" }],"version":1} body_len unsigned int 长度 - 子设备删除回调 函数描述: typedef EDGE_RETCODE (FN_SUB_DEVICE_DELETED_ARRIVED)(const char* deleteSubDeviceInfo, unsigned int body_len); 函数功能: 此函数声明用于通知子设备删除,使用此接口承接平台删除成功子设备的通知。 表7 参数说明 参数名称 类型 参数描述 示例 deleteSubDeviceInfo char* 删除成功的子设备信息,具体格式见示例 {"devices": [{"parent_device_id":"c6b39067b03421a48", "node_id": "subdevice11", "device_id":"2bb77-063ad2f5a6cc", "name": "subDevice11", "description": null, "product_id":"c6b3b34663d3ea42f6", "fw_version": null, "sw_version": null, "status": "ONLINE" }],"version":1} body_len unsigned int 长度 - 子设备扫描回调 函数描述: typedef EDGE_RETCODE (FN_START_SCAN_ARRIVED)(const char* protocol, const char* channel, const char* parentDeviceId,const char* scan_setting, unsigned int body_len); 函数功能: 此函数声明用于通知网关扫描子设备。 表8 参数说明 参数名称 类型 参数描述 protocol char* 协议 channel char* 通道信息 parentDeviceId char* 父设备ID scan_setting char* 扫描设备 body_len unsigned int 配置长度 子设备属性设置回调 函数描述: typedef EDGE_RETCODE (FN_DEVICE_PROPERTIES_SET_ARRIVED)(ST_PROPERTY_SET* sub_device_property_set); 函数功能: 此函数声明用于接收平台对子设备的属性设置。 表9 参数说明 参数名称 类型 参数描述 示例 sub_device_property_set ST_PROPERTY_SET* 属性设置 参见edge.h 子设备属性获取回调 函数描述: typedef EDGE_RETCODE (FN_DEVICE_PROPERTIES_GET_ARRIVED)(ST_PROPERTY_GET* sub_device_property_get); 函数功能: 此函数声明用于接收平台获取子设备的属性。 表10 参数说明 参数名称 类型 参数描述 示例 sub_device_property_get ST_PROPERTY_GET* 属性设置 参见edge.h 子设备影子回调 函数描述: typedef EDGE_RETCODE (FN_DEVICE_SHADOW_ARRIVED)(ST_DEVICE_SHADOW* sub_device_shadow); 函数功能: 此函数声明用于接收平台设置子设备的影子。 表11 参数说明 参数名称 类型 参数描述 示例 sub_device_property_get ST_DEVICE_SHADOW* 属性设置 参见edge.h 自定义topic 消息通知 回调 函数描述: typedef EDGE_RETCODE (FN_CUSTOMIZED_MESSAGE_ARRIVED)(const char* topic, const char* payload, unsigned int len); 函数功能: 此函数声明用于接收平台设置子设备的影子。 表12 参数说明 参数名称 类型 参数描述 topic char* 自定义topic payload char* 消息内容 len unsigned int 消息长度
  • 错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 返回错误码 描述 处理措施 SIS.0001 连接错误,如连接obs错误或者连接redis错误。 请联系技术支持工程师。 SIS.0003 token缺少用户信息或者委托已创建或者内部错误。 请联系技术支持工程师。 SIS.0100 服务内部错误。 请联系技术支持工程师。 SIS.0101 验证Token异常。 请检查请求消息头中的X-Auth-Token是否正确的填写,是否缺少字符。 token请求参数是否正确填写。 projectId在url是否准确填写。 账号是否被冻结。 获取token时,请求中需添加scope参数,获取项目级别token,调用sis时请勿使用全局token。 SIS.0102 鉴权信息缺失。 请检查请求消息头中的X-Auth-Token是否存在。 SIS.0103 实名认证缺失。 请进行账号实名认证。 SIS.0012 请求体中字段缺失。 请检查请求参数是否缺失必须字段。 SIS.0031 请求参数不支持。 请检查请求参数是否正确。 SIS.0032 请求体中的json不正确。 请检查请求体中的json是否正确。 确保设置的audio_format格式的值是合法,待识别的音频格式和audio_format参数格式要保证一致。对于录音文件识别接口,如果不确定该参数取值,可改为auto进行调试。 使用 实时语音识别 时请确认是否分片发送音频,并在wss握手后发送start命令。 报错data url is empty,时请参考配置OBS访问权限,设置OBS权限,并检查使用的URL是否正确。 报错data base64 encode invalid,请检查语音转Base64后的字符串是否存在错误,如多空格、字符错误等。 SIS.0022 产品不可购买。 产品暂时不开放购买,请联系技术支持工程师。 SIS.0023 产品购买失败。 产品购买失败,请联系技术支持工程师。 SIS.0024 不允许更新限制。 产品暂时不允许更新限制,请联系技术支持工程师。 SIS.0033 引擎响应超时。 请联系技术支持工程师。 SIS.0201 热词表未找到。 请检查请求参数是否异常,或联系技术支持工程师。 SIS.0203 部分热词太长或非法。 请根据错误信息,修改不合法的热词。 SIS.0204 热词表参数名已存在。 请修改热词表名称。 SIS.0205 语言不支持。 请修改热词表语言。 SIS.0206 保存热词失败。 请联系技术支持工程师。 SIS.0207 热词内容损坏。 请联系技术支持工程师。 SIS.0208 热词表数量过多。 请删除不需要的热词表,如有配置更多热词表的需求请联系客服人员。 SIS.0301 输入的audio_format参数不匹配模型。 请检查请求参数是否正确。 SIS.0302 内部服务异常。 请联系技术支持工程师。 SIS.0303 引擎连接失败。 请重试,多次出现请联系专业工程师。 SIS.0304 音频等待超时。 客户端长时间没有发送语音,服务端超过20s没有收到语音会产生该报错。 请减小数据发送间隔。 检查代码是否存在发送音频后睡眠过多时间。 检查是否发送end请求,是否关闭客户端。 SIS.0305 语音识别 异常。 请重试,或联系技术支持工程师。 SIS.0306 语音识别异常。 请重试,或联系技术支持工程师。 SIS.0307 语音识别异常。 请重试,或联系技术支持工程师。 SIS.0309 实时语音识别音频时长超过最大值。 请注意音频的时长限制,流式一句话(short-stream)和单句模式(sentence-stream)最长识别音频长度为60秒,连续模式(continue-stream)最长识别音频长度为5小时。 SIS.0312 超过最大资源并发限制。 如果应用程序发送请求频率过高,请降低请求频率,或联系技术支持工程师。 SIS.0401 语音合成 异常。 请重试,或联系技术支持工程师。 SIS.0402 语音合成输入的sample_rate参数非法。 请检查语音合成sample_rate采样率与property音色取值范围支持的采样率是否匹配。 SIS.0410 语音合成输入的audio_format参数非法。 请检查请求参数是否正确。 SIS.0411 语音合成输入的property参数非法。 请检查请求参数是否正确。 SIS.0412 连接语音合成引擎超时。 请重试,或联系技术支持工程师。 SIS.0413 语音合成内部错误。 请重试,或联系技术支持工程师。 SIS.0414 语音合成等待语音合成超时。 请重试,或联系技术支持工程师。 SIS.0415 语音合成请求体参数错误。 请检查请求体是否准确。 SIS.0416 等待用户发送合成文本超时。 请重新发送需要合成的文本内容。 SIS.0417 TTS 引擎错误。 请重试,或联系技术支持工程师 SIS.0418 当前链接已有合成任务。 请勿重复发送开始合成命令。 SIS.0419 非法ssml。 输入文本内容包含非法字符。 SIS.0504 录音文件识别极速版待识别音频无效。 请检查音频文件大小是否满足要求。 SIS.0506 找不到代理错误。 请检查网络是否有设置代理。 请在控制台检查OBS是否已授权。 SIS.0507 录音文件识别极速版输入参数无效。 请检查obs_bucket_name和obs_object_key参数是否为空。 SIS.0511 录音文件识别极速版待识别音频无效。 请检查音频时长是否满足要求。 SIS.0512 录音文件识别极速版输入参数无效。 请检查obs_bucket_name和obs_object_key对应的桶名和文件名是否存在。 SIS.0513 录音文件识别极速版输入参数无效。 请检查obs_object_key参数是否非法。 SIS.0533 录音文件识别请求参数错误。 请检查请求参数是否正确。 SIS.0534 录音文件识请求体错误。 请检查请求体是否正确。 data url is unreachable报错,请配置OBS访问权限。 data syntax error!报错请检查数据格式或编码格式是否符合要求。 asr data url param is invalid报错,请使用存放在OBS的音频文件路径,并确保OBS的region要和请求服务的region保持一致。 SIS.0535 录音文件识请求的文件类型不支持。 确保设置的audio_format格式的值是合法。录音文件识别支持的音频格式如表7所示。 确保待识别音频的格式和接口参数中设置的audio_format参数格式一致。 SIS.0536 录音文件识任务提交数量达到限制。 请稍后重试。 SIS.0537 录音文件太大。 请尝试减少文件大小,比如分割为多个。 SIS.0538 录音文件识任务超时。 请重试。 SIS.0601 短语音识别或语音合成输入参数不合法。 请检查请求参数是否正确和完整。 SIS.0602 短语音识别语音格式不支持。 请检查提交的语音编码格式是否在支持的范围内。 SIS.0604 短语音识别文件大小不符合要求或语音合成字数超过上限。 请尝试减小语音文件的大小或减少请求合成字数,注意使用OBS链接提交时,经过Base64编码之后文件大小会增加。 SIS.0605 短语音识别或语音合成出现内部错误。 请重试,或联系技术支持工程师。 SIS.0608 URL非法。 请检查URL,注意必须使用对应Region的OBS链接。 SIS.0609 从指定URL下载音频文件失败。 请检查OBS是否为公共读状态,或开通了委托授权。 SIS.0701 输入的音频/视频/试题文本大小超过限制。 请参考错误信息和API资料,减少音频/视频/试题文本大小。 SIS.0702 输入参数不合法。 例如,评测语言/评测模式不支持;音频/视频格式不支持;试题文本无效等情况。 请参考错误信息和API资料,更换正确的输入参数。 SIS.30003 下载OBS上的音频失败。 请检查OBS上音频是否可访问。权限配置方法请参见配置OBS访问权限。 SIS.30004 下载热词文件失败。 请检查热词是否存在。 SIS.30006 音频解码失败。 请检查音频格式是否正常,音频是否是空文件。 SIS.30007 转写引擎加载热词失败。 请检查热词是否存在。 SIS.30008 转写引擎转写失败。 请检查参数或联系技术支持工程师。 SIS.0541 录音文件识别 property 和 format 参数不匹配。 请检查Property 和 format 格式是否正常。
  • Token认证 Token的有效期为24小时,需要使用同一个Token鉴权时,可以缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 获取Token 方法一: 代码中加粗的斜体字段需要根据实际值填写username、domainname、project name,可登录控制台“我的凭证”页面获取。password为用户密码。 伪码 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "cn-north-4" } } } } Python import requests import json url = "https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens" payload = json.dumps({ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "cn-north-4" } } } }) headers = { 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.headers["X-Subject-Token"]) 图1 获取Token示例 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”的值。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • AK/SK认证 AK/SK签名认证方式仅支持消息体在12M以内,12M以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。 AK/SK获取方式请参考获取AK/SK。
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 父主题: 使用前必读
  • 调用API获取项目ID 获取项目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://support-intl.huaweicloud.com/zh-cn/devg-apisign/api-sign-provide.htmlcd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应信息 表1 响应参数 名称 参数类型 说明 resp_type String 响应类型。参数值为RESULT。 trace_id String 服务内部的令牌,可用于在日志中追溯具体流程。 result List 时间戳信息 表2 result数据结构 名称 参数类型 说明 start_time Integer 文本对应的合成音频的开始时间戳,单位是ms。 end_time Integer 文本对应的合成音频的结束时间戳,单位是ms。 text String 文本信息。 word_index Integer 文本在整句中的位置,从0开始计数。 phonemes Object 音素时间戳信息,当subtitle取值为phoneme_level时,返回该信息。 表3 phonemes数据结构 名称 参数类型 说明 phoneme String 音素文本信息。 start_time Integer 音素对应的合成音频的开始时间戳,单位是ms。 end_time Integer 音素对应的合成音频的结束时间戳,单位是ms。 phoneme_index Integer 音素位置信息,从0开始。
  • 安装边缘节点 在网关或服务器上安装docker,安装docker参考安装docker官方教程。 在“边缘节点”的节点列表选择您需要安装的节点,单击右侧“安装”,获得提示。 图4 安装节点 选择支持架构和安装目录,然后单击拷贝安装命令,使用SSH工具以root用户登录边缘节点服务器后台系统,执行安装命令。 图5 获取安装命令 安装命令的选择需要与购买的ecs的架构保持一致。 图6 执行安装 图7 安装命令执行成功 边缘节点的状态变为“在线”,表示该节点已安装并连接成功。 单击“节点名称”,查看该节点详细信息,关于节点详情描述可参见基本信息。
  • 云边协同引擎服务 销售项 报价项 规格 量纲 单价 备注(企业版) 云边协同引擎服务 IoT边缘企业版(订阅) 小规格(规格小于100CPU的边缘集群) 每集群/年 详细产品价格,请参考这里。 每套集群规格不超过100CPU,边缘服务器硬件需要客户提供,需满足边缘运行环境要求。 大规格(规格小于500CPU的边缘集群) 每集群/年 每套集群规格不超过500CPU,边缘服务器硬件需要客户提供,需满足边缘运行环境要求。 运维系统对接(一次性) 按系统个数 每系统/次 提供边缘集群上与第三方运维系统的对接,支持如 APM 等系统对接。 专业服务(一次性) 按人天 每人天 提供咨询规划、边缘部署、现场培训、告警配置、插件开发、交付实施、驻场、巡检等专业服务。 若需要运维系统对接服务,则需要单独购买专业服务,IoT边缘企业版不包含硬件资源,需要客户另购硬件。
  • 工业子系统数采服务 销售项 报价项 规格 量纲 单价 备注(基础版/专业版) 工业子系统数据采集 采集服务 (订阅) Lite版(5个接入点) 每套/年 详细产品价格,请参考这里。 提供工业网关远程运维管理能力(远程配置、时间同步、状态监控、硬件资源监控、远程升级、日志管理、告警管理)和维保。 小规格(10个接入点) 每套/年 中规格(30个接入点) 每套/年 大规格(50个接入点) 每套/年 集成服务 (一次性) Lite版(5个接入点) 每套/次 工业子系统集成服务与本地存量系统、以及云上新建系统的集成对接,包含交付实施。 小规格(10个接入点) 每套/次 中规格(30个接入点) 每套/次 大规格(50个接入点) 每套/次 按增量包个数 每个/接入点 增量包,每次叠加1个接入点,首次不能单独购买,必须购买规格套餐。 专业服务 (一次性) 按人天 每人天 硬件、OS及组件安装服务;组网规划及配置服务、现场专业培训、定制需求等。 若需要工业IT子系统数采,则需要单独购买资源包,不包含硬件资源,需要客户另购硬件作为边缘节点。至少需要4U8G的硬件规格,视并发量、数据量的情况可以再叠加硬件规格。 工业IT子系统包含:ERP、MES、SRM、PLM、OA、CRM等。
  • 子系统对接服务 销售项 报价项 规格 量纲 单价 备注(基础版/专业版) 子系统对接服务 采集服务 (订阅) 小规格(1000设备,100TPS) 每边缘节点/年 详细产品价格,请参考这里。 单节点规格支持1000设备接入,支持100TPS并发;边缘节点硬件需要客户提供,需满足边缘运行环境需求。 大规格(10000设备,1000TPS) 每边缘节点/年 单节点规格支持10000设备接入,支持1000TPS并发;边缘节点硬件需要客户提供,需满足边缘运行环境需求。 集成服务 (一次性) 按子系统个数 每系统/次 提供设备子系统的集成对接服务,常见子系统包括:电能、暖通空调、冷源、给排水、门禁、消防、照明、停车等; 1个系统不超过10000点位,超过点位数限制则叠加个数计算。 专业服务 (一次性) 按人天 每人天 人工现场实施包含边缘服务器的操作系统安装、现场培训等。 若需要子系统对接服务,则需要单独购买资源包,不包含硬件资源,需要客户另购硬件作为边缘节点。小规格至少需要4U8G的硬件规格,大规格至少需要8U16G的硬件规格。 园区与城市子系统包含:消防系统、安防系统、水利系统、楼宇系统、能耗系统等。
  • 计费原则/示例 免费场景 客户甲使用IoT边缘基础版/专业版纳管网关,添加第三方容器应用进行远程管理,仅做网关纳管。计费原则:免费。 客户乙继续使用IoT边缘基础版/专业版添加500个设备,进行设备管理,将数据上报给IoTDA 设备接入服务 。计费原则:免费(设备数1000以内,不计费,IoTDA的计费原则另算)。 客户丙想体验IoT边缘企业版纳管服务器集群,添加第三方应用模板进行远程管理。计费原则:集群可免费创建,且每个集群创建后的前15天免费使用,但超过15天后需订阅购买,否则冻结边缘集群的登录使用。 客户丙在使用IoT边缘企业版时,不论是免费期还是订阅期,想在边缘服务器上登录本地运维界面进行本地运维。计费原则:无需额外购买运维软件,企业版订阅费用已包含。 收费场景 客户A使用IoT边缘基础版/专业版添加1100个设备,进行设备管理。计费原则:(1100-1000)*0.016=1.6元/天(设备数超出1000的增量值100,按需计费)。 客户B在体验IoT边缘企业版15天后,计划购买。计费原则:支持包年或包月订阅,购买后获得资源ID,在管理控制台上进行绑定后,即可在订阅期内继续使用。 客户C使用IoT边缘基础版/专业版进行数据采集,例如园区/城市/工业等场景下,对接BACnet/OPC/Modbus/S7等行业协议。计费原则:需购买对应的数采服务资源包(数采集成专业服务与数采订阅服务要匹配购买)。 如果客户现场有10个设备需要通过网关硬件直接数采上云,则需报价:OT设备数采集成服务*10+订阅设备数采服务*10,其中网关硬件赠送。 如果客户现场有10个设备需要通过1个子系统数采上云,则需报价:系统数采集成服务*1+订阅系统数采服务*1,其中不涉及网关硬件。 客户D的生产车间有10个设备想通过网关硬件数采上云,同时机房有3台服务器(不到200vCPU)想作为数据中心集群管理,并且需要去现场实施。计费原则:OT设备数采集成服务*10+订阅设备数采服务*10+订阅企业版小规格*2+现场实施服务*N人天。
  • 工业OT设备/系统数据采集服务 销售项 报价项 规格 量纲 单价 备注(基础版/专业版) 工业OT设备/系统数据采集 采集服务 (订阅) 按OT设备个数 每个设备/年 详细产品价格,请参考这里。 工业OT设备/OT系统数据采集与云端IoT平台对接,云服务订阅维保;1个设备不超过1000点位,1个系统不超过10000点位,超过点位数限制则叠加个数计算。 按OT系统个数 每个系统/年 集成服务 (一次性) 按OT设备个数 每个设备/次 工业网关在客户现场实施部署,完成OT设备数据采集服务的实施对接,一个OT设备默认不超过1000个点位,超过则叠加个数计算;按OT设备个数计费,包含硬件部署、软件安装、现场调试与交付。 按OT系统个数 每个系统/次 OT系统数采,包含软件安装、现场调试与交付,一个OT系统默认不超过10000个点位,超过则叠加个数计算;按OT系统个数计费,包含部署、软件安装、现场调试与交付。 专业服务 (一次性) 按人天 每人天 组网规划、现场培训、新增设备现场实施等专业服务; 找点位、现场调研、设备建模等人力投入。 若需要工业OT设备数采、OT系统数采,则需要单独购买资源包,不包含硬件资源,需要客户另购硬件作为边缘节点。至少需要4U8G的硬件规格,视并发量、数据量的情况可以再叠加硬件规格,单个边缘节点最高支持500TPS的消息并发。 工业OT设备包含:PLC、CNC(数控机床)、仪器仪表等。 工业OT系统包含:D CS 、SCADA、上位机系统等。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Token可通过调用获取用户Token接口获取。 调用本服务API需要项目级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //IAM用户名 "password": $ADMIN_PASS, //IAM用户密码,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 "domain": { "name": "domainname" //IAM用户所属账号名 } } } }, "scope": { "project": { "name": "xxxxxxxx" //项目名称 } } } } 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。
  • 响应示例 状态码: 200 处理成功返回。 { "start_time" : "string", "interval" : 0, "values" : [ 0 ] } 状态码: 400 处理失败返回。 { "error_code" : "VOD.10053", "error_msg" : "The request parameter is illegal, illegal field: {xx}." }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 start_time String 统计起始时间。 interval Integer 统计间隔。 values Array of longs 采样数据数组。 从start_time开始,每个间隔对应一个采样数据(其中流量单位:Byte,带宽单位:bps)。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • URI GET /v1.0/{project_id}/asset/cdn-statistics 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID 表2 Query参数 参数 是否必选 参数类型 描述 start_time 否 String 起始时间,格式为yyyymmddhhmmss。 end_time 否 String 结束时间,格式为yyyymmddhhmmss。 “start_time”、“end_time”均不存在时,“start_time”取当天零点,“end_time”取当前时间。 “start_time”不存在、“end_time”存在,请求非法。 “start_time”存在、“end_time”不存在,“end_time”取当前时间。 只能查询最近三个月内的数据,且时间跨度不能超过31天。 起始时间和结束时间会自动规整,起始时间规整为指定时间所在的整点时刻,结束时间规整为指定时间所在时间的下一小时整点时刻。 stat_type 是 String 统计数据类型。 取值如下: cdn_bw:CDN峰值带宽 cdn_flux:CDN流量 req_num:请求总数 req_hit_rate:请求命中率 flux_hit_rate:流量命中率 每次只能查询一种统计数据。 domain 是 String 域名列表, 多个域名 以逗号(半角)分隔。 示例:example.test1.com,example.test2.com。 ALL表示查询名下全部域名。一次最多查询100个域名。 interval 否 Integer 查询粒度间隔。 取值如下: 时间跨度1天:5分钟、1小时、4小时、8小时,分别对应300秒、3600秒、14400秒和28800秒。 时间跨度2~7天:1小时、4小时、8小时、1天,分别对应3600秒、14400秒、28800秒和86400秒。 时间跨度8~31天:4小时、8小时、1天,分别对应14400秒、28800秒和86400秒。 单位:秒。 若不设置,默认取对应时间跨度的最小间隔。
  • 响应示例 状态码: 200 处理成功返回。 { "is_duplicated" : 1, "asset_ids" : [ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" ] } 状态码: 400 处理失败返回。 { "error_code" : "VOD.10053", "error_msg" : "The request parameter is illegal, illegal field: {xx}." }
  • URI GET /v1.0/{project_id}/asset/duplication 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID 表2 Query参数 参数 是否必选 参数类型 描述 size 是 Integer 文件大小 md5 是 String 文件MD5。 建议参考《API参考》附录下生成MD5值的上传校验示例。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 is_duplicated Integer 是否重复。 取值如下: 0:表示不重复。 1:表示重复。 asset_ids Array of strings 重复的媒资ID 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 响应示例 状态码: 200 处理成功返回。 { "templates" : [ { "name" : "test", "id" : "2305739f855413a84af9e6ad6ebb21be", "status" : 0, "dx" : "0.05", "dy" : "0.05", "position" : "TOPRIGHT", "width" : "0.12", "height" : null, "create_time" : "20210204092325", "image_url" : "https://103-cn-north-4.cdn-vod.huaweicloud.com/05ab5cef408026f22f62c018de60cf2e/watermark/2305739f855413a84af9e6ad6ebb21be.png", "type" : "PNG", "watermark_type" : "IMAGE", "image_process" : "TRANSPARENT", "timeline_start" : null, "timeline_duration" : null } ], "total" : 1 } 状态码: 400 处理失败返回。 { "error_code" : "VOD.10053", "error_msg" : "The request parameter is illegal, illegal field: {xx}." }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 templates Array of WatermarkTemplate objects 水印模板信息。 total Integer 总数。 表5 WatermarkTemplate 参数 参数类型 描述 name String 水印模板名称。 id String 水印模板配置id。 status Long 启用状态。 取值为: 0:停用 1:启用 dx String 水印图片相对输出视频的水平偏移量。 默认值是0。 dy String 水印图片相对输出视频的垂直偏移量。 默认值是0。 position String 水印的位置。 width String 水印图片宽。 height String 水印图片高。 create_time String 创建时间。 image_url String 水印图片下载url。 type String 水印图片格式类型。 watermark_type String 水印类型,当前只支持IMAGE(图片水印)。 image_process String watermark_type设置为IMAGE时有效。 目前包括: ORIGINAL:只做简单缩放,不做其他处理 TRANSPARENT:图片底色透明 GRAYED:彩色图片变灰 timeline_start String 水印开始时间,与"timeline_duration"配合使用。 取值范围:[0, END)。"END"表示视频结束时间。 单位:秒。 timeline_duration String 水印持续时间,与"timeline_start"配合使用。 取值范围:(0,END-开始时间]。"END"表示视频结束时间。 单位:秒。 默认:END。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。
共100000条