华为云用户手册

  • deviceId、nodeId和IMEI有什么对应关系? 在 物联网平台 中,设备注册时,需要填写设备标识码(即nodeId)。设备标识码唯一标识物理设备,通常使用IMEI和MAC地址。 NB-IoT设备:在设备接入物联网平台时携带设备标识码(nodeId),完成设备的接入鉴权。 集成Agent Lite SDK的设备:当设备上电时,携带设备标识码(nodeId)等进行平台绑定,并返回设备ID(deviceId)和密钥。当绑定后设备重新登录时,携带设备ID(deviceId)和密钥完成接入鉴权。 原生MQTT设备:在设备接入物联网平台时携带设备ID(deviceId)和密钥、或者nodeId和密钥,通过一机一密的方式,完成设备的接入鉴权。 更多请参考设备注册鉴权。 父主题: 设备集成(联通用户专用)
  • 在线开发的插件中如何实现命令下发响应? 设备在接收到命令后,可以上报两类消息:ACK和命令下发响应。ACK用于表示命令已经到达设备,命令下发响应用于表示设备执行命令的结果。如果需要设备在接到命令后,需要返回命令下发响应,则: 需要在数据上报消息和命令响应消息中均定义地址域字段(messageId),并且该字段在两种消息的字段列表中的位置必须相同,使编解码插件可以对数据上报消息和命令响应消息进行区分。 需要在命令下发消息和命令响应消息中定义响应标识字段(mid),并且该字段在两种消息的字段列表中的位置必须相同,使编解码插件可以将命令下发消息和对应的命令响应消息进行关联。 在线开发编解码插件时,命令下发响应的实现实例详见命令执行结果的编解码插件在线开发。 父主题: 编解码插件(联通用户专用)
  • 数据转发规则 规则管理为应用服务器提供物联网平台的规则引擎功能,通过设置规则实现业务的联动变化。 规则引擎包含触发源、条件、动作三部分。规则引擎接收触发源事件,满足规则配置的条件后触发相应动作。 触发源:表示触发规则的事件源,当前支持的触发源有设备数据上报和时间。 条件:表示规则触发依赖相关的条件,支持多个条件组合。当前支持的条件数据源有设备数据、定时任务、设备状态、设备周期。 动作:表示当条件成立后,需执行的动作,支持多个动作组合。当前支持的动作有设备命令下发、上报告警、发送 SMN 消息、转发DIS服务消息、转发OBS服务消息、转发ROMA Connect服务消息、转发IoTA服务消息、转发Kafka消息。 查询规则列表 创建数据转发规则 查询规则 修改规则 消息结构体说明 父主题: 应用侧API参考(联通用户专用)
  • 请求示例 GET https://{host}:{port}/iodm/northbound/v1.5.0/operations/{operationId}/subOperations?subOperationStatus={subOperationStatus}&pageNo={pageNo}&pageSize={pageSize} Content-Type: application/json app_key: ****** Authorization: Bearer ******
  • 正常响应示例 Status Code: 200 OK Content-Type: application/json { "totalCount": 1, "pageNo": 0, "pageSize": 1, "date": [ { "subOperationId": "**********", "createTime": "20151212T121212Z", "startTime": "20151212T121212Z", "stopTime": null, "operateType": "software_upgrade", "deviceId": "**********", "status": "FAIL", "detailInfo": "The task failed to start, unable to find protocol service based on device information", "extendInfo": { "upgradeTime": null, "sourceVersion": null, "curVersion": "V1.1.10", "downloadTime": null, "targetVersion": null } } ] }
  • 错误码 Http状态码 错误码 错误描述 说明 400 120015 Bad request error. 请求错误。 处理建议:请检查接口请求中fileId的格式是否正确。 400 123029 pageNo or pageSize beyond the limit. pageNo或pageSize超出上限。 处理建议:修改pageNo或pageSize为合法取值。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 123009 The requested task does not exist. 查询的任务不存在。 处理建议:请检查接口请求中的operationId内容是否正确。
  • 转发下行消息结果 应用服务器在物联网平台创建下行信息结果的规则后,当消息状态变更时,平台将消息结果推送给华为云其他服务。 表4 下行消息的结果转发结构体 参数名称 类型 描述 resource String 订阅的资源名称,取值为device.message.status。 event String 订阅的资源事件,取值为update。 notify_data ObjectNode 设备的自定义字段列表。 表5 notify_data结构体 参数名称 类型 描述 message_id String 消息的序列号,唯一标识一条消息。 name String 消息名称。 device_id String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 status String 设备消息状态,包含:DELIVERED,TIMEOUT,FAILED。 timestamp String 消息更新时间,格式:yyyyMMdd'T'HHmmss'Z' UTC字符串,如:20151212T121212Z。 下行消息结果转发结构体示例: { "resource":"string", "event":"string", "notify_data":{ "message_id":"string", "name":"string", "device_id":"string", "status":"string", "timestamp":"string" } }
  • 转发设备状态 当直连设备的状态变更后,平台将变更状态的设备转发至华为云其他服务。 表6 设备状态变更转发结构体 参数名称 类型 描述 resource String 订阅的资源名称,取值为device.status。 event String 订阅的资源事件,取值为update。 notify_data ObjectNode 设备的自定义字段列表。 表7 notify_data结构体 参数名称 类型 描述 app_id String 资源空间ID device_id String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 status String 设备状态。 ONLINE:设备在线 OFFLINE:设备离线 ABNORMAL:设备异常 timestamp String 设备状态变化时间,格式:yyyyMMdd'T'HHmmss'Z' UTC字符串,如:20151212T121212Z。 设备状态变更转发结构体示例: { "resource":"string", "event":"string", "notify_data":{ "device_id":"string", "app_id":"string", "status":"string", "timestamp":"string" } }
  • 转发设备上报的消息 设备上报给平台的消息,不解析消息体中的数据具体含义,直接透传给华为云其他服务。 表3 消息上报规则转发结构体 参数名称 类型 描述 deviceId String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 productId String 产品ID,用于唯一标识一个产品,在物联网平台创建产品后由平台分配获得。 topic String mqtt设备消息上报时的订阅主题topic data String 消息上报的具体内容,平台会将设备消息上报的结构体当成字符串放在data的value域。 消息上报转发结构体示例: { "deviceId":"string", "data":"string", "productId":"string", "topic":"string" }
  • 转发设备上报的属性 根据定义的产品模型,上报设备属性至平台。结构体描述如下: 表1 属性上报规则转发结构体 参数名称 类型 描述 device_id String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 services services[] 设备物模型的属性定义。 表2 services结构体 参数名称 类型 描述 service_id String 设备的服务ID,在设备关联的产品模型中定义。 properties ObjectNode[] 设备按照物模型上报的具体数据。 event_time String 设备数据上报的时间,格式:yyyymmddThhmmssZ,例如20151212T121212Z。 属性上报转发结构体示例: { "device_id":"String", "services":[ { "service_id":"String", "properties":{ "property1":"String" }, "event_time":"yyyyMMddTHHmmssZ" }, { "service_id":"String", "properties":{ "property2":"String" }, "event_time":"yyyyMMddTHHmmssZ" } ] }
  • 正常响应示例 Status Code: 200 OK Content-Type: application/json { "fileId": "**********", "name": "******", "version": "V1.1.10", "fileType": "softwarePackage", "deviceType": "******", "model": "******", "manufacturerName": "***", "protocolType": "CoAP", "description": "Test software package made by WYH", "date": "2015-2-2 ", "uploadTime": "20151212T121212Z" }
  • 错误码 Http状态码 错误码 错误描述 说明 400 120015 Bad request error. 请求错误。 处理建议:请检查接口请求中fileId的格式是否正确。 403 1010009 app throttle exceed. 应用调用接口过于频繁,超过流控值(默认值是100次/60s)。 处理建议:联系物联网平台维护人员调大流控阈值或者控制接口的调用频率。 403 1010005 Invalid access token or appId. 错误的token信息。 处理建议:请检查接口请求中所携带的accessToken是否有误。 404 123002 Device or package file not found. 设备或包不存在。 处理建议:请检查接口请求中的fileId是否正确。
  • 请求参数 参数 必选/可选 类型 位置 描述 app_key 必选 String header 访问物联网平台的应用ID,在物联网平台创建应用时由平台分配获得。 Authorization 必选 String header 访问物联网平台的认证信息,值为“Bearer {accessToken}”,其中{accessToken}为调用鉴权接口返回的accessToken。 fileId 必选 String path 版本包ID,通过“查询版本包列表”接口查询获得。
  • 响应参数 Status Code: 200 OK 参数 类型 描述 fileId String 版本包ID。 name String 版本包名称。 version String 版本包的版本号。 fileType String 版本包类型。 firmwarePackage:固件包 softwarePackage:软件包 deviceType String 版本包适用的设备类型。 model String 版本包适用的设备型号。 manufacturerName String 版本包适用的设备厂商名称。 protocolType String 版本包适用的设备协议类型。 description String 版本包的描述信息。 date String 版本包的生成日期。 uploadTime String 版本包上传的UTC时间,时间格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 若需要显示本地时区时间,您需要自己进行时间转换。
  • 请求参数 名称 必选/可选 类型 位置 说明 X-Auth-Token 必选 String Header 用户Token。通过调用 IAM 服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 可选 String Header 实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。 project_id 必选 String Path 项目ID。获取方法请参见 获取项目ID。 rule_id 必选 String Path 规则ID,用于唯一标识一条规则,在创建规则时由物联网平台分配获得。
  • 响应示例 Status Code: 200 OK Content-Type: application/json { "rule_id" : "string", "name" : "string", "description" : "string", "condition_group" : { "conditions" : [ { "type" : "string", "device_property_condition" : { "device_id" : "string", "product_id" : "string", "filters" : [ { "path" : "string", "operator" : "string", "value" : "string" } ] }, "device_message_condition" : { "product_id" : "string", "topic" : "string" }, "device_status_condition" : { "status_list" : [ "string" ] } } ], "logic" : "string", "time_range" : { "start_time" : "string", "end_time" : "string", "days_of_week" : "string" } }, "actions" : [ { "type" : "string", "addition" : [ "string" ], "dis_forwarding" : { "region_name" : "string", "project_id" : "string", "stream_name" : "string", "stream_id" : "string" }, "obs_forwarding" : { "region_name" : "string", "project_id" : "string", "bucket_name" : "string", "location" : "string" }, "roma_forwarding" : { "region_name" : "string", "project_id" : "string", "roma_push_type" : "string" }, "iota_forwarding" : { "region_name" : "string", "project_id" : "string" }, "kafka_forwarding" : { "region_name" : "string", "project_id" : "string", "kafka_addresses" : [ { "ip" : "string", "port" : 0, "domain" : "string" } ], "kafka_topic" : "string", "kafka_username" : "string", "kafka_password" : "string", "kafka_mechanism" : "string" } } ], "rule_type" : "string", "status" : "string", "app_id" : "string", "edge_node_id" : [ "string" ], "last_update_time" : "string" }
  • 错误码 HTTP状态码 错误码 错误码英文描述 错误码中文描述 处理建议 400 IOTDA.000006 Invalid input data. 请求参数不合法 请排查请求参数是否符合华为云文档要求。 IOTDA.000013 Invalid input. The parameter 'pageSize' multiply 'pageNo' exceeds the upper limit. 查询范围查过最大限制。 请检查pageSize和pageNo参数的大小。 403 IOTDA.000004 Invalid access token. 非法token 请排查请求中的token是否正常。 IOTDA.000021 Operation not allowed. User not found by IAM token or the authorized user has not subscribed IOTDA service. 没有找到IAM Token所对应的用户信息或该用户没有订阅 设备接入服务 (IOTDA) 请排查IAM Token所在用户是否订阅了设备接入服务(IOTDA)。 IOTDA.001000 The application does not exist. 该应用不存在 请确定是否已在平台注册应用并检查应用ID是否正确。 IOTDA.001002 Operation not allowed. The application has not been authorized. 该应用没有权限访问 请检查该应用是否已被授权。 IOTDA.001005 Operation not allowed. The parameter 'app_id' is not carried, and the authorized user has more than one applications. Include the parameter 'app_id', or contact Huawei technical support engineers to merge application data. 该用户下有多个应用的情况下未携带appId访问接口 请携带对应的appId或联系华为工程师合并应用数据。 IOTDA.001006 Operation not allowed. Application not found by authorized user or the authorized user has no application. 用户下没有应用或应用与用户不匹配 请排查用户下是否有应用或是否有指定的应用。 IOTDA.001007 Operation not allowed. The application does not belong to the authorized user. 应用与用户信息不匹配 请排查该用户下是否有指定的应用。 404 IOTDA.010002 The rule does not exist. 该规则不存在 请确认平台是否存在该规则或请求参数是否正确。 500 IOTDA.000020 Decrypt IAM token failed. IAM Token解析失败 请联系华为工程师分析解决。
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于鉴权接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,“******”需要根据实际值填写。 POST https://iot-api.cn-north-4.myhuaweicloud.com:8743/iocm/app/sec/v1.1.0/login Content-Type: application/x-www-form-urlencoded appId=******&secret=****** 鉴权接口的Content-Type为“application/x-www-form-urlencoded”,其消息体格式与Content-Type值为“application/json”时有差别。以注册设备(验证码方式)接口为例,其请求示例如下所示,“******”需要根据实际值填写。 POST https://iot-api.cn-north-4.myhuaweicloud.com:8743/iocm/app/reg/v1.1.0/deviceCredentials Content-Type: application/json app_key: ****** Authorization: Bearer ****** { "nodeId": "******", "productId": "******", "timeout": 0 } 到这里为止这个请求需要的内容就具备齐全了,您可以使用cURL、Postman或直接编写代码等方式发送请求调用API。
  • 请求消息头 附加请求头(header)字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 参数 是否必选 说明 Content-Type 必选 消息体的媒体类型,默认取值为“application/json”。 鉴权接口的Content-Type值为“application/x-www-form-urlencoded”。 其他API的Content-Type值为“application/json”。 app_key 鉴权接口不选 其他接口必选 访问物联网平台的应用ID,在物联网平台创建应用或在开发中心创建项目时由平台分配获得。 Authorization 鉴权接口不选 其他接口必选 访问物联网平台的认证信息,值为“Bearer {accessToken}”,其中{accessToken}为调用鉴权接口返回的accessToken。 Token在计算机系统中代表临时令牌的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。Token是有有效时间的,Token过期后需要重新认证并获取新的 对于鉴权接口,由于不需要认证,所以只添加Content-Type即可,添加消息头后的请求如下所示。 POST https://iot-api.cn-north-4.myhuaweicloud.com:8743/iocm/app/sec/v1.1.0/login Content-Type: application/x-www-form-urlencoded 对于其他接口,还需要在请求消息头中添加app_key和Authorization,以注册设备(验证码方式)接口为例,添加消息头后的请求如下所示,“******”需要根据实际值填写。 POST https://iot-api.cn-north-4.myhuaweicloud.com:8743/iocm/app/reg/v1.1.0/deviceCredentials Content-Type: application/json app_key: ****** Authorization: Bearer ******
  • 请求URI 请求URI由如下部分组成。 {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 参数 说明 URI-scheme 传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 承载REST服务端点的服务器地址,为“host:port”格式,host为服务器的访问 域名 或IP,port为服务器的访问端口,您可以参考平台对接信息获取应用的接入地址和端口信息。 例如设备管理服务在“华北-北京四”区域的应用对接地址为“iot-api.cn-north-4.myhuaweicloud.com”,端口为“8743”,所以Endpoint为“iot-api.cn-north-4.myhuaweicloud.com:8743”。 resource-path 资源路径,即API访问路径。从具体API的URI信息处获取,例如鉴权接口的resource-path为“/iocm/app/sec/v1.1.0/login”。 query-string 查询参数,可选,格式为“参数名=参数取值”,例如“pageSize=10”,表示每页最多显示10条查询记录。 查询参数与resource-path之间以“?”分隔,多个查询参数之间以“&”分隔。 例如您需要获取“华北-北京四”区域设备管理服务的accessToken,查询到的Endpoint为“iot-api.cn-north-4.myhuaweicloud.com:8743”,并在鉴权接口的URI信息处找到resource-path为“/iocm/app/sec/v1.1.0/login”,拼接起来的请求URI如下所示。 https://iot-api.cn-north-4.myhuaweicloud.com:8743/iocm/app/sec/v1.1.0/login 以批量查询设备信息接口为例,带query-string参数的请求URI如下所示。 https://iot-api.cn-north-4.myhuaweicloud.com:8743/iocm/app/dm/v1.4.0/devices?pageNo=0&pageSize=10
  • 请求方法 HTTP请求方法(也称为操作),它告诉服务你正在请求什么类型的操作。 方法 说明 POST 请求服务器新增资源或执行特殊操作。 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 DELETE 请求服务器删除指定资源,如删除对象等。 在鉴权接口的URI信息处,您可以看到其请求方法为“POST”,则其请求为: POST https://iot-api.cn-north-4.myhuaweicloud.com:8743/iocm/app/sec/v1.1.0/login
  • 参数说明 参数 必选/可选 类型 描述 clientId 必选 String(256) 一机一密的设备clientId由4个部分组成:deviceId、鉴权类型、密码签名类型、时间戳。通过下划线“_”分隔,其中“deviceId”的值,使用deviceId接入时填写为设备注册成功后返回的“deviceId”值;使用nodeId接入时填写为设备注册成功时的“nodeId”值。 鉴权类型:长度1字节,当前支持的类型:“0”,表示使用一机一密设备的deviceId接入;“2”,表示使用一机一密设备的nodeId接入。 密码签名类型:长度1字节,当前支持2种类型: “0”代表HMA CS HA256不校验时间戳。 “1”代表HMACSHA256校验时间戳。 时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC 时间2018/7/24 17:56:20 则应表示为2018072417。 Username 必选 String(256) 一机一密的设备“Username”,使用deviceId接入时填写为设备注册成功后返回的“deviceId”值;使用nodeId接入时填写为设备注册成功时的“nodeId”值。 Password 必选 String(256) Password的值为使用“HMACSHA256”算法以时间戳为密钥,对secret进行加密后的值。 secret为注册设备时平台返回的secret。 设备通过MQTT协议的connect消息进行鉴权,对于构造clientId的各个部分信息都必须包括进去,物联网平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。 当采用“HMACSHA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。 当采用“HMACSHA256”不校验时间戳方式时,鉴权消息也必须带时间戳,但不检验时间是否准确,仅判断密码是否正确。 connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。
  • 请求示例 POST 由应用服务器订阅消息状态变更通知的callbackUrl决定 Content-Type: application/json { "resource" : "string", "event" : "string", "notify_data" : { "device_id" : "string", "name" : "string", "message_id" : "string", "status" : "string", "timestamp" : "string" } }
  • 请求参数 名称 必选/可选 类型 位置 说明 resource 必选 String Body 订阅的资源名称,取值为device.message.status。 event 必选 String Body 订阅的资源事件,取值为update。 notify_data 必选 deviceMessagesUpdateNotification Object Body 设备的自定义字段列表。 表1 deviceMessagesUpdateNotification 名称 必选/可选 类型 说明 message_id 必选 String 消息的序列号,唯一标识一条消息。 name 可选 String 消息名称。 device_id 必选 String 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 status 可选 String 设备消息状态,包含:PENDING,DELIVERED,TIMEOUT,FAILED。 timestamp 可选 String 消息更新时间,格式:yyyyMMdd'T'HHmmss'Z' UTC字符串,如:20151212T121212Z。
  • 请求示例 POST 由应用服务器订阅设备属性变化通知的callbackUrl决定 Content-Type: application/json { "resource" : "string", "event" : "string", "notify_data" : { "device_id" : "string", "services" : [ { "data" : "objectnode", "service_id" : "string", "event_time" : "string" } ], "request_id" : "string", "gateway_id" : "string", "tags" : [ { "tag_value" : "testTagValue", "tag_key" : "testTagName" } ] } }
  • 请求示例 POST 由应用服务器订阅设备消息上报通知的callbackUrl决定 Content-Type: application/json { "resource" : "string", "event" : "string", "notify_data" : { "device_id" : "string", "message" : "string", "event_time" : "string", "tags" : [ { "tag_value" : "testTagValue", "tag_key" : "testTagName" } ] } }
  • 错误码 HTTP状态码 错误码 错误码英文描述 错误码中文描述 处理建议 400 IOTDA.000006 Invalid input data. 请求参数不合法 请排查请求参数是否符合华为云文档要求。 IOTDA.001001 Invalid input for this application. 应用参数不合法 请排查请求参数是否符合华为云文档要求。 IOTDA.010000 Invalid input for this rule. 规则参数不合法 请排查请求参数是否符合华为云文档要求。 IOTDA.010004 Invalid parameter in the rule condition. 规则条件不合法 请排查请求参数是否符合华为云文档要求 IOTDA.010005 Invalid parameter in the rule action. 规则动作参数不合法 请排查请求中action参数是否符合华为云文档要求。 IOTDA.010006 Repeated condition ID in the same rule. 规则条件ID重复 请重新命名规则条件ID后重试。 IOTDA.010007 Repeated action ID in the same rule. 规则动作ID重复 请重新命名规则动作ID后重试。 IOTDA.010008 The device with this condition does not exist. 规则条件中对应的设备不存在 请检查请求参数是否正确或设备在平台是否已经存在。 IOTDA.010009 The device with this action does not exist. 规则动作中对应的设备不存在 请检查请求参数是否正确或设备在平台是否已经存在。 IOTDA.010010 The device data with this condition does not exist. 规则条件中对应的设备信息不存在 请检查请求参数是否正确或设备在平台是否已经存在。 IOTDA.010011 The device data with this action does not exist. 规则动作中对应的设备信息不存在 请检查请求参数是否正确或设备在平台是否已经存在。 IOTDA.010012 The tag with this condition does not exist. 规则条件中对应的标签不存在 请检查请求参数是否正确或标签在平台是否已经存在 IOTDA.010013 Invalid rule parameter. 规则参数不合法 请排查请求参数是否符合华为云文档要求 403 IOTDA.000004 Invalid access token. 非法token 请排查请求中的token是否正常。 IOTDA.000021 Operation not allowed. User not found by IAM token or the authorized user has not subscribed IOTDA service. 没有找到IAM Token所对应的用户信息或该用户没有订阅设备接入服务(IOTDA) 请排查IAM Token所在用户是否订阅了设备接入服务(IOTDA)。 IOTDA.001000 The application does not exist. 该应用不存在 请确定是否已在平台注册应用并检查应用ID是否正确。 IOTDA.001002 Operation not allowed. The application has not been authorized. 该应用没有权限访问 请检查该应用是否已被授权。 IOTDA.001005 Operation not allowed. The parameter 'app_id' is not carried, and the authorized user has more than one applications. Include the parameter 'app_id', or contact Huawei technical support engineers to merge application data. 该用户下有多个应用的情况下未携带appId访问接口 请携带对应的appId或联系华为工程师合并应用数据。 IOTDA.001006 Operation not allowed. Application not found by authorized user or the authorized user has no application. 用户下没有应用或应用与用户不匹配 请排查用户下是否有应用或是否有指定的应用。 IOTDA.001007 Operation not allowed. The application does not belong to the authorized user. 应用与用户信息不匹配 请排查该用户下是否有指定的应用。 IOTDA.010003 The number of rules has reached the upper limit. 规则数量已达到上限 请删除多余的规则后重试。 404 IOTDA.010002 The rule does not exist. 该规则不存在 请确认平台是否存在该规则或请求参数是否正确。 500 IOTDA.000007 The data in database is abnormal. 数据库中的数据不正常 请联系华为工程师分析解决。 IOTDA.000020 Decrypt IAM token failed. IAM Token解析失败 请联系华为工程师分析解决。
  • 请求示例 PUT https://{Endpoint}/v5/iot/{project_id}/rules/{rule_id} Content-Type: application/json X-Auth-Token: ******** Instance-Id: ******** { "name" : "string", "description" : "string", "condition_group" : { "time_range" : { "days_of_week" : "string", "start_time" : "string", "end_time" : "string" }, "logic" : "string", "conditions" : [ { "device_status_condition" : { "status_list" : [ "string" ] }, "device_property_condition" : { "device_id" : "string", "product_id" : "string", "filters" : [ { "path" : "string", "value" : "string", "operator" : "string" } ] }, "type" : "string", "device_message_condition" : { "product_id" : "string", "topic" : "string" } } ] }, "actions" : [ { "iota_forwarding" : { "project_id" : "string", "region_name" : "string" }, "roma_forwarding" : { "project_id" : "string", "region_name" : "string", "roma_push_type" : "string" }, "kafka_forwarding" : { "kafka_mechanism" : "string", "project_id" : "string", "kafka_addresses" : [ { "port" : 0, "ip" : "string", "domain" : "string" } ], "kafka_username" : "string", "region_name" : "string", "kafka_topic" : "string", "kafka_password" : "string" }, "obs_forwarding" : { "project_id" : "string", "bucket_name" : "string", "region_name" : "string", "location" : "string" }, "type" : "string", "dis_forwarding" : { "stream_name" : "string", "project_id" : "string", "stream_id" : "string", "region_name" : "string" }, "addition" : [ "string" ] } ], "rule_type" : "string", "status" : "string", "app_id" : "string", "edge_node_ids" : [ "string" ] }
  • 响应示例 Status Code: 200 OK Content-Type: application/json { "rule_id" : "string", "name" : "string", "description" : "string", "condition_group" : { "conditions" : [ { "type" : "string", "device_property_condition" : { "device_id" : "string", "product_id" : "string", "filters" : [ { "path" : "string", "operator" : "string", "value" : "string" } ] }, "device_message_condition" : { "product_id" : "string", "topic" : "string" }, "device_status_condition" : { "status_list" : [ "string" ] } } ], "logic" : "string", "time_range" : { "start_time" : "string", "end_time" : "string", "days_of_week" : "string" } }, "actions" : [ { "type" : "string", "addition" : [ "string" ], "dis_forwarding" : { "region_name" : "string", "project_id" : "string", "stream_name" : "string", "stream_id" : "string" }, "obs_forwarding" : { "region_name" : "string", "project_id" : "string", "bucket_name" : "string", "location" : "string" }, "roma_forwarding" : { "region_name" : "string", "project_id" : "string", "roma_push_type" : "string" }, "iota_forwarding" : { "region_name" : "string", "project_id" : "string" }, "kafka_forwarding" : { "region_name" : "string", "project_id" : "string", "kafka_addresses" : [ { "ip" : "string", "port" : 0, "domain" : "string" } ], "kafka_topic" : "string", "kafka_username" : "string", "kafka_password" : "string", "kafka_mechanism" : "string" } } ], "rule_type" : "string", "status" : "string", "app_id" : "string", "edge_node_id" : [ "string" ], "last_update_time" : "string" }
  • 错误码 HTTP状态码 错误码 错误码英文描述 错误码中文描述 处理建议 400 IOTDA.000006 Invalid input data. 请求参数不合法 请排查请求参数是否符合华为云文档要求。 IOTDA.000013 Invalid input. The parameter 'pageSize' multiply 'pageNo' exceeds the upper limit. 查询范围查过最大限制。 请检查pageSize和pageNo参数的大小。 403 IOTDA.000004 Invalid access token. 非法token 请排查请求中的token是否正常。 IOTDA.000021 Operation not allowed. User not found by IAM token or the authorized user has not subscribed IOTDA service. 没有找到IAM Token所对应的用户信息或该用户没有订阅设备接入服务(IOTDA) 请排查IAM Token所在用户是否订阅了设备接入服务(IOTDA)。 IOTDA.001000 The application does not exist. 该应用不存在 请确定是否已在平台注册应用并检查应用ID是否正确。 IOTDA.001002 Operation not allowed. The application has not been authorized. 该应用没有权限访问 请检查该应用是否已被授权。 IOTDA.001005 Operation not allowed. The parameter 'app_id' is not carried, and the authorized user has more than one applications. Include the parameter 'app_id', or contact Huawei technical support engineers to merge application data. 该用户下有多个应用的情况下未携带appId访问接口 请携带对应的appId或联系华为工程师合并应用数据。 IOTDA.001006 Operation not allowed. Application not found by authorized user or the authorized user has no application. 用户下没有应用或应用与用户不匹配 请排查用户下是否有应用或是否有指定的应用。 IOTDA.001007 Operation not allowed. The application does not belong to the authorized user. 应用与用户信息不匹配 请排查该用户下是否有指定的应用。 404 IOTDA.010002 The rule does not exist. 该规则不存在 请确认平台是否存在该规则或请求参数是否正确。 500 IOTDA.000020 Decrypt IAM token failed. IAM Token解析失败 请联系华为工程师分析解决。
共100000条