查询规则动作列表
功能介绍
应用服务器可调用此接口查询物联网平台中设置的规则动作列表。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
GET /v5/iot/{project_id}/routing-rule/actions
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
project_id |
是 |
String |
参数说明:项目ID。获取方法请参见 获取项目ID。 |
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
rule_id |
否 |
String |
参数说明:规则触发条件ID。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
|
channel |
否 |
String |
参数说明:规则动作的类型。 取值范围:
|
|
app_type |
否 |
String |
参数说明:租户规则的生效范围。 取值范围:
|
|
app_id |
否 |
String |
参数说明:资源空间ID。此参数为非必选参数,rule_id不携带且app_type为APP时,该参数生效,可携带app_id查询指定资源空间下的规则动作列表,不携带app_id则查询默认资源空间下的规则动作列表。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
|
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。 |
请求参数
|
参数 |
是否必选 |
参数类型 |
描述 |
|---|---|---|---|
|
Instance-Id |
否 |
String |
参数说明:实例ID。物理多租下各实例的唯一标识,一般华为云租户无需携带该参数,仅在物理多租场景下从管理面访问API时需要携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID。 |
响应参数
状态码:200
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
actions |
Array of RoutingRuleAction objects |
规则动作信息列表。 |
|
count |
Integer |
满足查询条件的记录总数。 |
|
marker |
String |
本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
action_id |
String |
规则动作ID,用于唯一标识一条规则动作,在创建规则动作时由物联网平台分配获得,创建时无需携带,由平台统一分配唯一的action_id。 |
|
rule_id |
String |
规则动作对应的的规则触发条件ID。 |
|
app_id |
String |
资源空间ID。 |
|
channel |
String |
规则动作的类型,取值范围:
|
|
channel_detail |
ChannelDetail object |
通道配置信息。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
http_forwarding |
HttpForwarding object |
参数说明:http服务器转发消息内容。当channel为HTTP_FORWARDING时,必填。 |
|
dis_forwarding |
DisForwarding object |
参数说明:转发DIS服务消息内容。当channel为DIS_FORWARDING时,必填。 |
|
obs_forwarding |
ObsForwarding object |
参数说明:转发OBS服务消息内容。当channel为OBS_FORWARDING时,必填。 |
|
amqp_forwarding |
AmqpForwarding object |
参数说明:转发AMQP服务消息内容。当channel为AMQP_FORWARDING时,必填。 |
|
dms_kafka_forwarding |
DmsKafkaForwarding object |
参数说明:转发Kafka消息内容。当channel为DMS_KAFKA_FORWARDING时,必填。 |
|
mysql_forwarding |
MysqlForwarding object |
参数说明:转发MySQL消息内容。当channel为MYSQL_FORWARDING时,必填。 |
|
influxdb_forwarding |
InfluxDBForwarding object |
参数说明:转发influxdb的配置参数。当channel为INFLUXDB_FORWARDING时,必填。 |
|
functiongraph_forwarding |
FunctionGraphForwarding object |
参数说明:转发云服务函数服务消息内容。当channel为FUNCTIONGRAPH_FORWARDING时,必填。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
url |
String |
参数说明:用于接收满足规则条件数据的http服务器地址。HTTP为非数据加密传输模式,此模式下数据传输不安全, 建议使用更安全的HTTPS方式 |
|
cert_id |
String |
参数说明:证书id,请参见加载推送证书第3步获取证书ID |
|
cn_name |
String |
参数说明:当sni_enable为true时,此字段需要填写,内容为将要请求的服务端证书的域名,举例:domain:8443;当sni_enable为false时,此字段默认不填写。 |
|
sni_enable |
Boolean |
参数说明:需要https服务端和客户端都支持此功能,默认为false,设成true表明Https的客户端在发起请求时,需要携带cn_name;https服务端根据cn_name返回对应的证书;设为false可关闭此功能。 |
|
signature_enable |
Boolean |
参数说明:是否启用签名。填写token时, 该参数必须为true, token才可以生效,否则token不生效。推荐设置成true,使用token签名验证消息是否来自平台。 |
|
token |
String |
参数说明:用作生成签名的Token,客户端可以使用该token按照规则生成签名并与推送消息中携带的签名做对比, 从而验证安全性。取值范围: 长度不超过32, 不小于3, 只允许字母、数字的组合。请参见HTTP/HTTPS推送基于Token认证物联网平台 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
region_name |
String |
参数说明:DIS服务对应的region区域 |
|
project_id |
String |
参数说明:DIS服务对应的projectId信息 |
|
stream_name |
String |
参数说明:DIS服务对应的通道名称,stream_id和stream_name两个参数必须携带一个,优先使用stream_id |
|
stream_id |
String |
参数说明:DIS服务对应的通道ID,stream_id和stream_name两个参数必须携带一个,优先使用stream_id |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
region_name |
String |
参数说明:OBS服务对应的region区域 |
|
project_id |
String |
参数说明:OBS服务对应的projectId信息 |
|
bucket_name |
String |
参数说明:OBS服务对应的桶名称 |
|
location |
String |
参数说明:OBS服务对应桶的区域 |
|
file_path |
String |
参数说明:OBS服务中存储通道文件的自定义目录,多级目录可用(/)进行分隔,不可以斜杠(/)开头或结尾,不能包含两个以上相邻的斜杠(/) 取值范围: 英文字母(a-zA-Z)、数字(0-9)、下划线(_)、中划线(-)、等号(=)、斜杠(/)和大括号({}),最大字符长度256个字符。其中大括号只能用于对应模板参数。 模板参数:
例如:自定义目录结构为{YYYY}/{MM}/{DD}/{HH},则会在转发数据时,根据当前时间往对应的目录结构2021>08>11>09下生成对应的数据。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
region_name |
String |
参数说明:Kafka服务对应的region区域 |
|
project_id |
String |
参数说明:Kafka服务对应的projectId信息 |
|
addresses |
Array of SupportPrivateLinkNetAddress objects |
参数说明:转发kafka消息对应的地址列表 |
|
topic |
String |
参数说明:转发kafka消息关联的topic信息。 |
|
username |
String |
参数说明:转发kafka关联的用户名信息。 |
|
password |
String |
参数说明:转发kafka关联的密码信息。 |
|
mechanism |
String |
参数说明:转发kafka关联的SASL认证机制。 取值范围:
|
|
security_protocol |
String |
参数说明:kafka传输安全协议,此字段不填默认为SASL_SSL。当mechanism为PAAS或不填时,该字段不生效。 取值范围:
|
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
ip |
String |
参数说明:服务的对应IP |
|
port |
Integer |
参数说明:服务对应端口 |
|
domain |
String |
参数说明:服务对应的域名 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
address |
NetAddress object |
转发Mysql消息对应的地址列表 |
|
db_name |
String |
参数说明:连接MYSQL数据库的库名。 取值范围:长度不超过64,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
|
username |
String |
参数说明:连接MYSQL数据库的用户名 |
|
password |
String |
参数说明:连接MYSQL数据库的密码 |
|
enable_ssl |
Boolean |
参数说明:客户端是否使用SSL连接服务端,默认为true, 若为false,则为非数据加密传输模式,此模式下数据传输不安全,建议您使用SSL模式。 |
|
table_name |
String |
参数说明:MYSQL数据库的表名。 取值范围:长度不超过64,只允许字母、数字、下划线(_)、连接符(-)、美元($)、中文的组合。 |
|
column_mappings |
Array of ColumnMapping objects |
参数说明:MYSQL数据库的列和流转数据的对应关系列表,最多支持32条映射关系。 |
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
address |
NetAddress object |
参数说明:转发InfluxDB消息对应的地址 |
|
db_name |
String |
参数说明:连接InfluxDB数据库的库名,不存在会自动创建 |
|
username |
String |
参数说明:连接InfluxDB数据库的用户名 |
|
password |
String |
参数说明:连接InfluxDB数据库的密码 |
|
measurement |
String |
参数说明:InfluxDB数据库的measurement,不存在会自动创建 |
|
column_mappings |
Array of ColumnMapping objects |
参数说明:InfluxDB数据库和流转数据的对应关系列表,最多支持32条映射关系。 |
请求示例
列表查询规则动作。
GET https://{endpoint}/v5/iot/{project_id}/routing-rule/actions
响应示例
状态码:200
Successful response
{
"actions" : [ {
"rule_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce1",
"action_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce0",
"channel_detail" : {
"amqp_forwarding" : {
"queue_name" : "test"
},
"obs_forwarding" : {
"file_path" : "device_property_report/{YYYY}/{MM}/{DD}/{HH}",
"project_id" : "project_id",
"bucket_name" : "bucket_name",
"region_name" : "region_name",
"location" : "location"
},
"http_forwarding" : {
"sni_enable" : false,
"cn_name" : "domain:8443",
"cert_id" : "0ae892cfeff641158920300b2292d2ca",
"url" : "http://host:port/callbackurltest"
},
"dis_forwarding" : {
"stream_name" : "stream_name",
"project_id" : "project_id",
"stream_id" : "stream_id",
"region_name" : "region_name"
},
"dms_kafka_forwarding" : {
"addresses" : [ {
"port" : 443,
"ip" : "host",
"domain" : "huawei.com"
} ],
"password" : "password",
"project_id" : "project_id",
"topic" : "topic",
"region_name" : "region_name",
"mechanism" : "PLAIN",
"security_protocol" : "SASL_SSL",
"username" : "username"
}
},
"channel" : "HTTP_FORWARDING",
"app_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce2"
} ],
"count" : 10,
"marker" : "5c90fa7d3c4e4405e8525079"
}
状态码
|
状态码 |
描述 |
|---|---|
|
200 |
Successful response |
|
400 |
Bad Request |
|
401 |
Unauthorized |
|
403 |
Forbidden |
|
500 |
Internal Server Error |
错误码
请参见错误码。