查询规则动作列表
接口说明
应用服务器可调用此接口查询物联网平台中设置的规则动作列表。
调试
您可以在API Explorer中直接运行调试该接口。
URI
| 请求方法 | GET |
|---|---|
| URI | /v5/iot/{project_id}/routing-rule/actions |
| 传输协议 | HTTPS |
请求参数
| 名称 | 必选/可选 | 类型 | 位置 | 说明 |
|---|---|---|---|---|
| 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 | Query | 参数说明:规则触发条件ID。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
| channel | 可选 | String | Query | 参数说明:规则动作的类型。 取值范围:
|
| app_type | 可选 | String | Query | 参数说明:租户规则的生效范围。 取值范围:
|
| app_id | 可选 | String | Query | 参数说明:资源空间ID。此参数为非必选参数,rule_id不携带且app_type为APP时,该参数生效,可携带app_id查询指定资源空间下的规则动作列表,不携带app_id则查询默认资源空间下的规则动作列表。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
| limit | 可选 | Integer | Query | 参数说明:分页查询时每页显示的记录数。默认每页10条记录,最大设定每页50条记录。 取值范围:1-50的整数,默认值为10。 |
| marker | 可选 | String | Query | 参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 取值范围:长度为24的十六进制字符串,默认值为ffffffffffffffffffffffff。 |
| offset | 可选 | Integer | Query | 参数说明:表示从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。 |
响应参数
| 名称 | 类型 | 说明 |
|---|---|---|
| actions | List<RoutingRuleAction> | 规则动作信息列表。 |
| 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服务器转发消息内容。当type为HTTP_FORWARDING时,必填。 |
| dis_forwarding | DisForwarding Object | 参数说明:转发DIS服务消息内容。当type为DIS_FORWARDING时,必填。 |
| obs_forwarding | ObsForwarding Object | 参数说明:转发OBS服务消息内容。当type为OBS_FORWARDING时,必填。 |
| amqp_forwarding | AmqpForwarding Object | 参数说明:转发AMQP服务消息内容。当type为AMQP_FORWARDING时,必填。 |
| dms_kafka_forwarding | DmsKafkaForwarding Object | 参数说明:转发Kafka消息内容。当type为DMS_KAFKA_FORWARDING时,必填。 |
| 名称 | 类型 | 说明 |
|---|---|---|
| url | String | 参数说明:用于接收满足规则条件数据的http服务器地址。 |
| cert_id | String | 参数说明:证书id,请参见获取证书ID |
| cn_name | String | 参数说明:当sni_enable为true时,此字段需要填写,内容为将要请求的服务端证书的域名,举例:www.example.com:8443;当sni_enbale为false时,此字段默认不填写。 |
| sni_enable | Boolean | 参数说明:需要https服务端和客户端都支持此功能,默认为false,设成true表明Https的客户端在发起请求时,需要携带cn_name;https服务端根据cn_name返回对应的证书;设为false可关闭此功能。 |
| 名称 | 类型 | 说明 |
|---|---|---|
| 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服务对应桶的区域 |
| 名称 | 类型 | 说明 |
|---|---|---|
| region_name | String | 参数说明:Kafka服务对应的region区域 |
| project_id | String | 参数说明:Kafka服务对应的projectId信息 |
| addresses | List<NetAddress> | 参数说明:转发kafka消息对应的地址列表 |
| topic | String | 参数说明:转发kafka消息关联的topic信息。 |
| username | String | 参数说明:转发kafka关联的用户名信息。 |
| password | String | 参数说明:转发kafka关联的密码信息。 |
| mechanism | String | 参数说明:转发kafka关联的鉴权机制。 取值范围:
|
请求示例
GET https://{Endpoint}/v5/iot/{project_id}/routing-rule/actions?rule_id={rule_id}&channel={channel}&app_type={app_type}&app_id={app_id}&limit={limit}&marker={marker}&offset={offset}
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********
响应示例
Status Code: 200 OK
Content-Type: application/json
{
"actions" : [ {
"rule_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce1",
"action_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce0",
"channel_detail" : {
"amqp_forwarding" : {
"queue_name" : "test"
},
"obs_forwarding" : {
"project_id" : "project_id",
"bucket_name" : "bucket_name",
"region_name" : "region_name",
"location" : "location"
},
"http_forwarding" : {
"sni_enable" : false,
"cn_name" : "www.example.com:8443",
"cert_id" : "0ae892cfeff641158920300b2292d2ca",
"url" : "http://10.10.10.10:443/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" : "10.1.1.1",
"domain" : "huawei.com"
} ],
"password" : "password",
"project_id" : "project_id",
"topic" : "topic",
"region_name" : "region_name",
"mechanism" : "PLAIN",
"username" : "username"
}
},
"channel" : "HTTP_FORWARDING",
"app_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce2"
} ],
"count" : 10,
"marker" : "5c90fa7d3c4e4405e8525079"
} 错误码
| HTTP状态码 | 错误码 | 错误码英文描述 | 错误码中文描述 | 处理建议 |
|---|---|---|---|---|
| 400 | IOTDA.000006 | Invalid input data. | 请求参数不合法 | 请排查请求参数是否符合华为云文档要求。 |
| IOTDA.000011 | Invalid input. The specified parameter 'pageNo' is out of range. | 请求参数中pageNo超出范围 | 请排查请求参数中的pageNo大小是否在文档限制范围之内。 | |
| IOTDA.000012 | Invalid input. The specified parameter 'pageSize' is out of range. | 请求参数中pageSize超出范围 | 请排查请求参数中的pageSize大小是否在文档限制范围之内。 | |
| IOTDA.000013 | Invalid input. The parameter 'pageSize' multiply 'pageNo' exceeds the upper limit. | 查询范围查过最大限制。 | 请检查pageSize和pageNo参数的大小。 | |
| 403 | 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.000022 | Operation not allowed. The user does not have the permission | 该用户没有权限 | 请排查该用户是否有权限访问。 | |
| 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. | 应用与用户信息不匹配 | 请排查该用户下是否有指定的应用。 | |
| 500 | IOTDA.000001 | Internal server error. | 服务器内部错误 | 请联系华为工程师分析解决。 |
| IOTDA.000020 | Decrypt IAM token failed. | IAM Token解析失败 | 请联系华为工程师分析解决。 |
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.