华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 rule_id String 规则触发条件ID,用于唯一标识一个规则触发条件,在创建规则条件时由物联网平台分配获得。 rule_name String 用户自定义的规则名称。 最小长度:1 最大长度:256 description String 用户自定义的规则描述。 最小长度:1 最大长度:256 subject RoutingRuleSubject object 资源事件信息,即资源变化事件。 app_type String 租户规则的生效范围,取值如下: GLOBAL:生效范围为租户级 APP:生效范围为资源空间级。 app_id String 资源空间ID select String 用户自定义sql select语句,最大长度2500,该参数仅供标准版和企业版用户使用。 最小长度:0 最大长度:2500 where String 用户自定义sql where语句,最大长度2500,该参数仅供标准版和企业版用户使用。 最小长度:0 最大长度:2500 active Boolean 规则条件的状态是否为激活。 表5 RoutingRuleSubject 参数 参数类型 描述 resource String 参数说明:资源名称。 取值范围: device:设备。 device.property:设备属性。 device.message:设备消息。 device.message.status:设备消息状态。 device.status:设备状态。 batchtask:批量任务。 product:产品。 device.command.status:设备异步命令状态。 最小长度:1 最大长度:50 event String 参数说明:资源事件。 取值范围:与资源有关,不同的资源,事件不同。event需要与resource关联使用,具体的“resource:event”映射关系如下: device:create(设备添加) device:delete(设备删除) device:update(设备更新) device.status:update (设备状态变更) device.property:report(设备属性上报) device.message:report(设备消息上报) device.message.status:update(设备消息状态变更) batchtask:update (批量任务状态变更) product:create(产品添加) product:delete(产品删除) product:update(产品更新) device.command.status:update(设备异步命令状态更新) 最小长度:1 最大长度:50
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。 表3 请求Body参数 参数 是否必选 参数类型 描述 rule_name 否 String 参数说明:规则名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合 最小长度:1 最大长度:256 description 否 String 参数说明:用户自定义的规则描述。 最小长度:0 最大长度:256 select 否 String 参数说明:用户自定义sql select语句,最大长度2500,更新sql时,select跟where必须同时传参,如果需要清除该参数的值,输入空字符串,该参数仅供标准版和企业版用户使用。 最小长度:0 最大长度:2500 where 否 String 参数说明:用户自定义sql where语句,最大长度2500,更新操作时,select跟where必须同时传参,如果需要清除该参数的值,输入空字符串,该参数仅供标准版和企业版用户使用。 最小长度:0 最大长度:2500 active 否 Boolean 参数说明:修改规则条件的状态是否为激活。
  • 响应示例 状态码: 200 Ok { "policy_id" : "adadd5cb-6383-4b5b-a65c-f8c92fdf3c34", "policy_name" : "policyName", "description" : "description", "scope" : "CHANNEL", "scope_value" : "HTTP_FORWARDING", "limit" : 10 }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 policy_id String 参数说明:数据流转流控策略id,用于唯一标识一个数据流转流控策略,在创建数据流转流控策略时由物联网平台分配获得。 policy_name String 参数说明:数据流转流控策略名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 description String 参数说明:用户自定义的数据流转流控策略描述。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 scope String 参数说明:流控策略作用域. 取值范围: USER:租户级流控策略。 CHANNEL:转发通道级流控策略。 RULE:转发规则级流控策略。 ACTION:转发动作级流控策略。 scope_value String 参数说明:流控策略作用域附加值。 scope取值为USER时,可不携带该字段,表示租户级流控。 scope取值为CHANNEL时,取值范围:HTTP_FORWARDING、DIS_FORWARDING、OBS_FORWARDING、AMQP_FORWARDING、DMS_KAFKA_FORWARDING。 scope取值为RULE时,该字段为对应的ruleId。 scope取值为ACTION时,该字段为对应的actionId。 limit Integer 参数说明:数据转发流控大小。单位为tps,取值范围为1~1000的整数,默认为1000. 最小值:1 最大值:1000 缺省值:1000
  • URI PUT /v5/iot/{project_id}/routing-rule/flowcontrol-policy/{policy_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 policy_id 是 String 参数说明:数据流转流控策略id,用于唯一标识一个数据流转流控策略,在创建数据流转流控策略时由物联网平台分配获得。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。 表3 请求Body参数 参数 是否必选 参数类型 描述 policy_name 否 String 参数说明:数据流转流控策略名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 description 否 String 参数说明:用户自定义的数据流转流控策略描述。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 limit 否 Integer 参数说明:数据转发流控大小。单位为tps,取值范围为1~1000的整数,默认为1000. 最小值:1 最大值:1000 缺省值:1000
  • 响应示例 状态码: 201 Created { "policy_id" : "adadd5cb-6383-4b5b-a65c-f8c92fdf3c34", "policy_name" : "policyName", "description" : "description", "backlog_size" : 1073741823, "backlog_time" : 86399 }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。 表3 请求Body参数 参数 是否必选 参数类型 描述 policy_name 否 String 参数说明:数据流转积压策略名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 description 否 String 参数说明:用户自定义的数据流转积压策略描述。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 backlog_size 否 Integer 参数说明:数据积压大小。单位为B(字节),取值范围为0~1073741823的整数,默认为1073741823(即1GB)。当backlog_size为0时,表示不积压。若同时配置了backlog_size和backlog_time两个维度,则以最先达到阈值的维度为准。 最小值:0 最大值:1073741823 缺省值:1073741823 backlog_time 否 Integer 参数说明:数据积压时间。单位为s(秒),取值范围为0~86399的整数,默认为86399(即1天)。当backlog_time为0时,表示不积压。若同时配置了backlog_size和backlog_time两个维度,则以最先达到阈值的维度为准。 最小值:0 最大值:86399 缺省值:86399
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 policy_id String 参数说明:数据流转积压策略id,用于唯一标识一个数据流转积压策略,在创建数据流转积压策略时由物联网平台分配获得。 policy_name String 参数说明:数据流转积压策略名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 description String 参数说明:用户自定义的数据流转积压策略描述。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 backlog_size Integer 参数说明:数据积压大小。单位为B(字节),取值范围为0~1073741823的整数,默认为1073741823(即1GB)。当backlog_size为0时,表示不积压。若同时配置了backlog_size和backlog_time两个维度,则以最先达到阈值的维度为准。 最小值:0 最大值:1073741823 缺省值:1073741823 backlog_time Integer 参数说明:数据积压时间。单位为s(秒),取值范围为0~86399的整数,默认为86399(即1天)。当backlog_time为0时,表示不积压。若同时配置了backlog_size和backlog_time两个维度,则以最先达到阈值的维度为准。 最小值:0 最大值:86399 缺省值:86399
  • 请求示例 创建数据流转积压策略。 POST https://{endpoint}/v5/iot/{project_id}/routing-rule/backlog-policy { "policy_name" : "rulename", "description" : "description", "backlog_size" : 100, "backlog_time" : 100 }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。
  • 响应示例 状态码: 200 Ok { "flowcontrol_policies" : [ { "policy_id" : "adadd5cb-6383-4b5b-a65c-f8c92fdf3c34", "policy_name" : "policyName", "description" : "description", "scope" : "CHANNEL", "scope_value" : "HTTP_FORWARDING", "limit" : 10 } ], "count" : 10, "marker" : "5c90fa7d3c4e4405e8525079" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 flowcontrol_policies Array of FlowControlPolicyInfo objects 数据流转流控策略列表。 数组长度:0 - 50 count Integer 满足查询条件的记录总数。 marker String 本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。 表5 FlowControlPolicyInfo 参数 参数类型 描述 policy_id String 参数说明:数据流转流控策略id,用于唯一标识一个数据流转流控策略,在创建数据流转流控策略时由物联网平台分配获得。 policy_name String 参数说明:数据流转流控策略名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 description String 参数说明:用户自定义的数据流转流控策略描述。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 scope String 参数说明:流控策略作用域. 取值范围: USER:租户级流控策略。 CHANNEL:转发通道级流控策略。 RULE:转发规则级流控策略。 ACTION:转发动作级流控策略。 scope_value String 参数说明:流控策略作用域附加值。 scope取值为USER时,可不携带该字段,表示租户级流控。 scope取值为CHANNEL时,取值范围:HTTP_FORWARDING、DIS_FORWARDING、OBS_FORWARDING、AMQP_FORWARDING、DMS_KAFKA_FORWARDING。 scope取值为RULE时,该字段为对应的ruleId。 scope取值为ACTION时,该字段为对应的actionId。 limit Integer 参数说明:数据转发流控大小。单位为tps,取值范围为1~1000的整数,默认为1000. 最小值:1 最大值:1000 缺省值:1000
  • URI GET /v5/iot/{project_id}/routing-rule/flowcontrol-policy 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 参数说明:项目ID。获取方法请参见 获取项目ID 。 表2 Query参数 参数 是否必选 参数类型 描述 scope 否 String 参数说明:流控策略作用域。不携带该参数时,查询所有作用域流控策略;取值USER时,查询租户级流控策略;取值为CHANNEL时,查询转发通道级流控策略;取值为RULE时,查询转发规则级流控策略;取值为ACTION时,查询转发动作级流控策略。 scope_value 否 String 参数说明:流控策略作用域附加值。 不携带scope参数或scope参数取值为USER时,可不携带该字段,查询租户级流控策略。 scope参数取值为CHANNEL时,不携带该字段表示查询所有转发通道级流控策略,携带该字段表示查询该字段取值对应转发通道的流控策略。取值范围:HTTP_FORWARDING、DIS_FORWARDING、OBS_FORWARDING、AMQP_FORWARDING、DMS_KAFKA_FORWARDING。 scope参数为RULE时,不携带该字段表示查询所有转发规则级流控策略,携带该字段表示查询该字段取值对应转发规则的流控策略。 scope参数为ACTION时,不携带该字段表示查询所有转发动作级流控策略,携带该字段表示查询该字段取值对应转发动作的流控策略。 policy_name 否 String 参数说明:数据流转流控策略名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合。 最小长度:1 最大长度:256 limit 否 Integer 参数说明:分页查询时每页显示的记录数。默认每页10条记录,最大设定每页50条记录。 取值范围:1-50的整数,默认值为10。 最小值:1 最大值:50 缺省值:10 marker 否 String 参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 取值范围:长度为24的十六进制字符串,默认值为ffffffffffffffffffffffff。 缺省值:ffffffffffffffffffffffff offset 否 Integer 参数说明:表示从marker后偏移offset条记录开始查询。默认为0,取值范围为0-500的整数。当offset为0时,表示从marker后第一条记录开始输出。 - 限制offset最大值是出于API性能考虑,您可以搭配marker使用该参数实现翻页,例如每页50条记录,1-11页内都可以直接使用offset跳转到指定页,但到11页后,由于offset限制为500,您需要使用第11页返回的marker作为下次查询的marker,以实现翻页到12-22页。 取值范围:0-500的整数,默认为0。 最小值:0 最大值:500 缺省值:0
  • 基本概念 账号 用户注册华为云时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中购买资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型 企业项目 企业项目是项目的升级版,针对企业不同项目间资源的分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。 资源空间 指在物联网平台中为您的业务划分的一个资源空间,您在平台中创建的资源(如产品、设备等)都需要归属到某个资源空间,您可以基于资源空间实现多业务应用的分域管理。详情请参见资源空间。 产品 产品模型用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平台构建一款设备的抽象模型。详情请参见什么是产品模型。 消息下发 消息下发不依赖产品模型,提供给设备的单向通知,具有消息缓存功能;详情请参见消息下发概述。 命令下发 为能有效地对设备进行管理,设备的产品模型中定义了物联网平台可向设备下发的命令,应用服务器可以调用物联网平台应用侧API接口向设备下发命令,以实现对设备的远程控制。详情请参见命令下发概述。 属性下发 属性下发分为查询设备属性和修改属性参数两种,查询设备属性用于应用侧或平台主动获取设备属性数据,修改属性参数用于应用侧或平台设置设备属性值并同步到设备侧。详情请参见属性下发概述。 AMQP队列管理 AMQP(Advanced Message Queuing Protocol)即高级队列消息协议。用户可通过AMQP的客户端与IoT平台建立链接,来接收平台推送数据。详情请参见AMQP订阅推送。 数据流转 设备接入到物联网平台后,便可与物联网平台进行通信。设备通过自定义Topic或产品模型方式将数据上报到平台,在控制台设置后,通过订阅推送的方式,将设备生命周期变更、设备属性上报、设备消息上报、设备消息状态变更、设备状态变更、批量任务状态变更等消息推送到您指定的服务器。详情请参见订阅推送方式概述。 设备影子 物联网平台支持创建设备的“影子”。设备影子是一个JSON文件,用于存储设备的在线状态、设备最近一次上报的设备属性值、应用服务器期望下发的配置。每个设备有且只有一个设备影子,设备可以获取和设置设备影子以此来同步设备属性值,这个同步可以是影子同步给设备,也可以是设备同步给影子。详情请参见设备影子。 设备组(群组) 群组是一系列设备的集合,用户可以对资源空间下所有设备,根据区域、类型等不同规则进行分类建立群组,以便处理对海量设备的批量操作。例如,对资源空间下所有水表设备的群组进行固件升级。平台支持群组的增删改查操作,支持给群组绑定和解绑设备,支持一个设备被添加到多个群组中。详情请参见群组。 标签 对于拥有大量云资源的用户,可以通过给云资源打标签,快速查找具有某标签的云资源,可对这些资源标签统一进行检视、修改、删除等操作,方便用户对云资源的管理。详情请参见标签概述。 联动规则 联动规则分为端侧规则和云端规则。端侧规则:在云端规则中,用户创建的规则的解析及执行均在云端完成,云平台需要判断条件是否满足并触发相应的设备联动操作。详情请参见端侧规则。云端规则:当用户设置云端规则时,物联网平台会判断是否满足规则触发条件,在条件满足时,平台会执行用户预设的动作。比如:事件告警、主题通知、设备命令下发等。详情请参见云端规则。 批量任务 当需要对多个设备进行批量操作时,可以选择批量任务执行该操作。当前支持批量软固件升级、批量创建设备、批量修改设备、批量删除设备、批量冻结设备、批量解冻设备、批量创建命令、批量创建消息、批量配置设备影子和批量更新设备任务。 OTA升级 OTA升级指的是软固件升级,软件升级指升级设备的系统软件和应用软件,固件升级指升级设备硬件的底层“驱动程序”。升级方式均为将软/固件包上传到物联网平台或者关联用户OBS上的对象,设备从物联网平台或用户OBS获取软/固件包实现远程升级。详情请参见OTA升级相关问题。 父主题: 使用前必读
  • 设备组管理 API 说明 查询设备组列表 查询物联网平台中的设备组信息列表。 添加设备组 新建设备组,一个华为云账号下最多可有1,000个分组,包括父分组和子分组。 查询设备组 查询设备组详情。 修改设备组 修改指定设备组。 删除设备组 删除指定设备组。 管理设备组中的设备 管理设备组中的设备,包括添加设备到设备组和从设备组删除设备。单个设备组内最多添加20,000个设备。一个设备最多可以被添加到10个设备组中。 查询设备组设备列表 查询指定设备组下的设备列表。
  • 批量任务 API 说明 查询批量任务列表 查询物联网平台中批量任务列表,每一个任务又包括具体的任务内容、任务状态、任务完成情况统计等。 创建批量任务 创建批量处理任务,对多个设备进行批量操作。当前支持批量软固件升级、批量创建设备、批量修改设备、批量删除设备、批量冻结设备、批量解冻设备、批量创建命令、批量创建消息、批量配置设备影子和批量更新设备任务。 查询批量任务 查询物联网平台中指定批量任务的信息,包括任务内容、任务状态、任务完成情况统计以及子任务列表等。 删除批量任务 应用服务器可调用此接口删除物联网平台中已经完成(状态为成功,失败,部分成功,已停止)的批量任务。 重试批量任务 应用服务器可调用此接口重试批量任务,目前只支持task_type为firmwareUpgrade,softwareUpgrade。如果task_id对应任务已经成功、停止、正在停止、等待中或初始化中,则不可以调用该接口。 停止批量任务 应用服务器可调用此接口停止批量任务,目前只支持task_type为firmwareUpgrade,softwareUpgrade。如果task_id对应任务已经完成(成功、失败、部分成功,已经停止)或正在停止中,则不可以调用该接口。 查询批量任务文件列表 查询批量任务文件列表。 上传批量任务文件 上传批量任务文件,用于创建批量任务。当前支持批量创建设备任务、批量删除设备任务、批量冻结设备任务、批量解冻设备和批量更新设备任务的文件上传。 删除批量任务文件 删除批量任务文件。
  • 资源空间管理 API 说明 查询资源空间列表 资源空间对应的是物联网平台原有的应用,在物联网平台的含义与应用一致,只是变更了名称。应用服务器可以调用此接口查询资源空间列表。 创建资源空间 资源空间对应的是物联网平台原有的应用,在物联网平台的含义与应用一致,只是变更了名称。应用服务器可以调用此接口创建资源空间。 查询资源空间 资源空间对应的是物联网平台原有的应用,在物联网平台的含义与应用一致,只是变更了名称。应用服务器可以调用此接口查询指定资源空间详情。 删除资源空间 删除指定资源空间。删除资源空间属于高危操作,删除资源空间后,该空间下的产品、设备等资源将不可用,请谨慎操作!
  • 数据流转规则管理 API 说明 查询规则条件列表 可调用此接口查询物联网平台中设置的规则条件列表。 创建规则触发条件 可调用此接口在物联网平台创建一条规则触发条件。 查询规则条件 可调用此接口查询物联网平台中指定规则条件的配置信息。 修改规则触发条件 可调用此接口修改物联网平台中指定规则条件的配置参数。 删除规则触发条件 可调用此接口删除物联网平台中的指定规则条件。 查询规则动作列表 可调用此接口查询物联网平台中设置的规则动作列表。 创建规则动作 可调用此接口在物联网平台创建一条规则动作。 查询规则动作 可调用此接口查询物联网平台中指定规则动作的配置信息。 修改规则动作 可调用此接口修改物联网平台中指定规则动作。 删除规则动作 可调用此接口删除物联网平台中的指定规则动作。
  • 流转数据 API 说明 设备状态变更通知 应用服务器在物联网平台创建设备状态变更通知规则后,当物联网平台中的设备状态发生变更时,平台会向应用服务器推送通知消息。 设备属性上报通知 应用服务器在物联网平台创建了设备属性上报通知规则后,当设备上报属性数据时,平台会向应用服务器推送通知消息。 设备消息状态变更通知 应用服务器在物联网平台创建了消息状态变更通知规则后,当设备消息状态变更时,平台会向应用服务器推送通知消息。 批量任务状态变更通知 应用服务器在物联网平台创建了批量任务状态变更通知规则后,当批量任务状态变更时,平台会向应用服务器推送通知消息。 设备消息上报通知 应用服务器在物联网平台创建了设备消息上报通知规则后,当设备上报消息数据时,平台会向应用服务器推送通知消息。 设备添加通知 应用服务器在物联网平台创建了设备添加事件规则后,当物联网平台中的设备添加时,平台会向应用服务器推送通知消息。 设备更新通知 应用服务器在物联网平台创建了设备更新事件规则后,当物联网平台中的设备更新时,平台会向应用服务器推送通知消息。 设备删除通知 应用服务器在物联网平台创建了设备删除通知事件规则后,当物联网平台中的设备删除时,平台会向应用服务器推送通知消息。 产品添加通知 应用服务器在物联网平台创建了产品添加通知事件规则后,当物联网平台中的产品添加时,平台会向应用服务器推送通知消息。 产品更新通知 应用服务器在物联网平台创建了产品更新通知事件规则后,当物联网平台中的产品更新时,平台会向应用服务器推送通知消息。 产品删除通知 应用服务器在物联网平台创建了产品删除通知事件规则后,当物联网平台中的产品删除时,平台会向应用服务器推送通知消息。 设备异步命令状态变更通知 应用服务器在物联网平台创建了命令状态变更通知后,当命令状态变更时,平台会向应用服务器推送通知消息。
  • 产品管理 API 说明 查询产品列表 查询已导入物联网平台的产品模型信息列表,了解产品模型的概要信息。 创建产品 创建产品。此接口仅创建了产品,没有创建和安装插件,如果需要对数据进行编解码,还需要在平台开发和安装插件。 查询产品 查询已导入物联网平台的指定产品模型详细信息,包括产品模型的服务、属性、命令等。 修改产品 修改已导入物联网平台的指定产品模型,包括产品模型的服务、属性、命令等。此接口仅修改了产品,未修改和安装插件,如果修改了产品中的service定义,且在平台中有对应的插件,请修改并重新安装插件。 删除产品 删除已导入物联网平台的指定产品模型。
  • 设备管理 API 说明 查询设备列表 查询物联网平台中的设备信息列表。 创建设备 在物联网平台注册一个设备,仅在注册后设备才可以接入物联网平台。 查询设备 查询物联网平台中指定设备的详细信息。 修改设备 修改物联网平台中指定设备的基本信息。 删除设备 在物联网平台上删除指定设备。若设备下连接了非直连设备,则必须把设备下的非直连设备都删除后,才能删除该设备。 重置设备密钥 重置设备密钥,携带指定密钥时平台将设备密钥重置为指定的密钥,不携带密钥时平台将自动生成一个新的随机密钥返回。 冻结设备 冻结设备,设备冻结后不能再连接上线,可以通过解冻设备接口解除设备冻结。注意,当前仅支持冻结与平台直连的设备。 解冻设备 解冻设备,解除冻结后,设备可以连接上线。 重置设备指纹 应用服务器可调用此接口重置设备指纹。携带指定设备指纹时将之重置为指定值;不携带时将之置空。 灵活搜索设备列表 应用服务器使用SQL语句调用该接口,灵活的搜索所需要的设备资源列表。
  • 请求示例 创建规则触发条件,触发条件为设备创建通知。 POST https://{endpoint}/v5/iot/{project_id}/routing-rule/rules { "rule_name" : "rulename", "subject" : { "resource" : "device", "event" : "create" }, "app_type" : "GLOBAL", "description" : "description" } 创建规则触发条件,触发条件为属性上报。 POST https://{endpoint}/v5/iot/{project_id}/routing-rule/rules { "rule_name" : "rulename", "subject" : { "resource" : "device.property", "event" : "report" }, "app_type" : "GLOBAL", "description" : "description" } 创建规则触发条件,触发条件为消息上报(根据sql进行topic筛选,基础版不支持该sql筛选能力)。 POST https://{endpoint}/v5/iot/{project_id}/routing-rule/rules { "rule_name" : "rulename", "subject" : { "resource" : "device.message", "event" : "report" }, "app_type" : "GLOBAL", "description" : "description", "select" : "notify_data.header as header,notify_data.body as body,'12345678901234abcd' as id", "where" : "notify_data.body.topic = '$oc/devices/646c7579a5adc915f8966e8b_8514932826827763/user/testmsg'" }
  • 响应示例 状态码: 201 Created { "rule_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca", "rule_name" : "rulename", "description" : "description", "subject" : { "resource" : "device", "event" : "create" }, "app_type" : "GLOBAL", "app_id" : "1a7ffc5cd89c44dd8265b1653d951ce0", "select" : "*", "where" : "product_id='d89c-44dd-8265-b1653d951ce0'", "active" : false }
  • 响应参数 状态码: 201 表5 响应Body参数 参数 参数类型 描述 rule_id String 规则触发条件ID,用于唯一标识一个规则触发条件,在创建规则条件时由物联网平台分配获得。 rule_name String 用户自定义的规则名称。 最小长度:1 最大长度:256 description String 用户自定义的规则描述。 最小长度:1 最大长度:256 subject RoutingRuleSubject object 资源事件信息,即资源变化事件。 app_type String 租户规则的生效范围,取值如下: GLOBAL:生效范围为租户级 APP:生效范围为资源空间级。 app_id String 资源空间ID select String 用户自定义sql select语句,最大长度2500,该参数仅供标准版和企业版用户使用。 最小长度:0 最大长度:2500 where String 用户自定义sql where语句,最大长度2500,该参数仅供标准版和企业版用户使用。 最小长度:0 最大长度:2500 active Boolean 规则条件的状态是否为激活。 表6 RoutingRuleSubject 参数 参数类型 描述 resource String 参数说明:资源名称。 取值范围: device:设备。 device.property:设备属性。 device.message:设备消息。 device.message.status:设备消息状态。 device.status:设备状态。 batchtask:批量任务。 product:产品。 device.command.status:设备异步命令状态。 最小长度:1 最大长度:50 event String 参数说明:资源事件。 取值范围:与资源有关,不同的资源,事件不同。event需要与resource关联使用,具体的“resource:event”映射关系如下: device:create(设备添加) device:delete(设备删除) device:update(设备更新) device.status:update (设备状态变更) device.property:report(设备属性上报) device.message:report(设备消息上报) device.message.status:update(设备消息状态变更) batchtask:update (批量任务状态变更) product:create(产品添加) product:delete(产品删除) product:update(产品更新) device.command.status:update(设备异步命令状态更新) 最小长度:1 最大长度:50
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。 表3 请求Body参数 参数 是否必选 参数类型 描述 rule_name 否 String 参数说明:规则名称。 取值范围:长度不超过256,只允许中文、字母、数字、以及_?'#().,&%@!-等字符的组合 最小长度:1 最大长度:256 description 否 String 参数说明:用户自定义的规则描述。 最小长度:0 最大长度:256 subject 是 RoutingRuleSubject object 参数说明:资源事件信息。 app_type 否 String 参数说明:租户规则的生效范围,默认GLOBAL,。 取值范围: GLOBAL:生效范围为租户级。 APP:生效范围为资源空间级。如果类型为APP,创建的规则生效范围为携带的app_id指定的资源空间,不携带app_id则创建规则生效范围为默认资源空间。 app_id 否 String 参数说明:资源空间ID。。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 select 否 String 参数说明:用户自定义sql select语句,最大长度2500,该参数仅供标准版和企业版用户使用。可填参数可参考帮助文档数据流转下各接口的请求参数,如notify_data.body。 最小长度:0 最大长度:2500 where 否 String 参数说明:用户自定义sql where语句,最大长度2500,该参数仅供标准版和企业版用户使用,可填参数可参考帮助文档数据流转下各接口的请求参数,如notify_data.body。 最小长度:0 最大长度:2500 表4 RoutingRuleSubject 参数 是否必选 参数类型 描述 resource 是 String 参数说明:资源名称。 取值范围: device:设备。 device.property:设备属性。 device.message:设备消息。 device.message.status:设备消息状态。 device.status:设备状态。 batchtask:批量任务。 product:产品。 device.command.status:设备异步命令状态。 最小长度:1 最大长度:50 event 是 String 参数说明:资源事件。 取值范围:与资源有关,不同的资源,事件不同。event需要与resource关联使用,具体的“resource:event”映射关系如下: device:create(设备添加) device:delete(设备删除) device:update(设备更新) device.status:update (设备状态变更) device.property:report(设备属性上报) device.message:report(设备消息上报) device.message.status:update(设备消息状态变更) batchtask:update (批量任务状态变更) product:create(产品添加) product:delete(产品删除) product:update(产品更新) device.command.status:update(设备异步命令状态更新) 最小长度:1 最大长度:50
  • 响应示例 状态码: 200 OK { "rule_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca", "rule_name" : "rulename", "description" : "description", "subject" : { "resource" : "device", "event" : "create" }, "app_type" : "GLOBAL", "app_id" : "1a7ffc5cd89c44dd8265b1653d951ce0", "select" : "*", "where" : "product_id='d89c-44dd-8265-b1653d951ce0'", "active" : false }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 Instance-Id 否 String 参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 rule_id String 规则触发条件ID,用于唯一标识一个规则触发条件,在创建规则条件时由物联网平台分配获得。 rule_name String 用户自定义的规则名称。 最小长度:1 最大长度:256 description String 用户自定义的规则描述。 最小长度:1 最大长度:256 subject RoutingRuleSubject object 资源事件信息,即资源变化事件。 app_type String 租户规则的生效范围,取值如下: GLOBAL:生效范围为租户级 APP:生效范围为资源空间级。 app_id String 资源空间ID select String 用户自定义sql select语句,最大长度2500,该参数仅供标准版和企业版用户使用。 最小长度:0 最大长度:2500 where String 用户自定义sql where语句,最大长度2500,该参数仅供标准版和企业版用户使用。 最小长度:0 最大长度:2500 active Boolean 规则条件的状态是否为激活。 表4 RoutingRuleSubject 参数 参数类型 描述 resource String 参数说明:资源名称。 取值范围: device:设备。 device.property:设备属性。 device.message:设备消息。 device.message.status:设备消息状态。 device.status:设备状态。 batchtask:批量任务。 product:产品。 device.command.status:设备异步命令状态。 最小长度:1 最大长度:50 event String 参数说明:资源事件。 取值范围:与资源有关,不同的资源,事件不同。event需要与resource关联使用,具体的“resource:event”映射关系如下: device:create(设备添加) device:delete(设备删除) device:update(设备更新) device.status:update (设备状态变更) device.property:report(设备属性上报) device.message:report(设备消息上报) device.message.status:update(设备消息状态变更) batchtask:update (批量任务状态变更) product:create(产品添加) product:delete(产品删除) product:update(产品更新) device.command.status:update(设备异步命令状态更新) 最小长度:1 最大长度:50
  • 请求消息头 附加请求消息头(header)字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 参数 说明 Content-Type 消息体的媒体类型,默认取值为“application/json”。 Authorization 访问物联网平台的认证信息,值为“Bearer {access_token}”,其中{access_token}为收到的升级通知中的access_token。 示例 GET https://100.93.28.202:8943/iodm/dev/v2.0/upgradefile/applications/******/devices/******/packages/****** Content-Type: application/json Authorization: Bearer ****** 如果event_type为firmware_upgrade_v2、software_upgrade_v2,则在请求下载软固件包时不需要携带请求头。请求示例如下: GET https://******.obs.cn-north-4.myhuaweicloud.com:443/test.bin?AccessKeyId=DX5G7W*********
共100000条