更新时间:2024-10-23 GMT+08:00

查询规则条件列表

功能介绍

应用服务器可调用此接口查询物联网平台中设置的规则条件列表。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

GET /v5/iot/{project_id}/routing-rule/rules

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数说明:项目ID。获取方法请参见 获取项目ID

表2 Query参数

参数

是否必选

参数类型

描述

resource

String

参数说明:订阅的资源名称。

取值范围

  • device:设备。

  • device.property:设备属性。

  • device.message:设备消息。

  • device.message.status:设备消息状态。

  • device.status:设备状态。

  • batchtask:批量任务。

  • product:产品。

  • device.command.status:设备异步命令状态。

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(设备异步命令状态更新)。

app_type

String

参数说明:租户规则的生效范围。

取值范围

  • GLOBAL:生效范围为租户级。

  • APP:生效范围为资源空间级。如果类型为APP,可携带app_id查询指定资源空间下的规则动作列表,不携带app_id则查询默认资源空间下的规则列表。

app_id

String

参数说明:资源空间ID。此参数为非必选参数,携带app_id查询指定资源空间下的规则动作列表,不携带app_id则查询默认资源空间下的规则动作列表。

取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。

rule_name

String

参数说明:用户自定义的规则名称

active

Boolean

参数说明:规则条件的状态是否为激活。

limit

Integer

参数说明:分页查询时每页显示的记录数。默认每页10条记录,最大设定每页50条记录。

取值范围:1-50的整数,默认值为10。

marker

String

参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。

取值范围:长度为24的十六进制字符串,默认值为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。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数说明:用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证

Instance-Id

String

参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

rules

Array of RoutingRule objects

规则条件信息列表。

count

Integer

满足查询条件的记录总数。

marker

String

本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。

表5 RoutingRule

参数

参数类型

描述

rule_id

String

规则触发条件ID,用于唯一标识一个规则触发条件,在创建规则条件时由物联网平台分配获得。

rule_name

String

用户自定义的规则名称。

description

String

用户自定义的规则描述。

subject

RoutingRuleSubject object

资源事件信息,即资源变化事件。

app_type

String

租户规则的生效范围,取值如下:

  • GLOBAL:生效范围为租户级

  • APP:生效范围为资源空间级。

app_id

String

资源空间ID

select

String

用户自定义sql select语句,最大长度2500,该参数仅供标准版和企业版用户使用。

where

String

用户自定义sql where语句,最大长度2500,该参数仅供标准版和企业版用户使用。

active

Boolean

规则条件的状态是否为激活。

表6 RoutingRuleSubject

参数

参数类型

描述

resource

String

参数说明:资源名称。

取值范围

  • device:设备。

  • device.property:设备属性。

  • device.message:设备消息。

  • device.message.status:设备消息状态。

  • device.status:设备状态。

  • batchtask:批量任务。

  • product:产品。

  • device.command.status:设备异步命令状态。

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(设备异步命令状态更新)

请求示例

列表查询数据流转规则。

GET https://{endpoint}/v5/iot/{project_id}/routing-rule/rules

响应示例

状态码: 200

Successful response

{
  "rules" : [ {
    "rule_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca",
    "app_type" : "GLOBAL",
    "select" : "*",
    "rule_name" : "rulename",
    "subject" : {
      "resource" : "device",
      "event" : "create"
    },
    "description" : "description",
    "active" : true,
    "where" : "product_id='d89c-44dd-8265-b1653d951ce0'",
    "app_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce0"
  } ],
  "count" : 10,
  "marker" : "5c90fa7d3c4e4405e8525079"
}

状态码

状态码

描述

200

Successful response

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码