创建规则触发条件
接口说明
应用服务器可调用此接口在物联网平台创建一条规则触发条件。
调试
您可以在API Explorer中直接运行调试该接口。
URI
|
请求方法 |
POST |
|---|---|
|
URI |
/v5/iot/{project_id}/routing-rule/rules |
|
传输协议 |
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_name |
可选 |
String |
Body |
参数说明:用户自定义的规则名称。 |
|
description |
可选 |
String |
Body |
参数说明:用户自定义的规则描述。 |
|
subject |
必选 |
RoutingRuleSubject Object |
Body |
参数说明:资源事件信息。 |
|
app_type |
可选 |
String |
Body |
参数说明:租户规则的生效范围,默认GLOBAL,。 取值范围:
|
|
app_id |
可选 |
String |
Body |
参数说明:资源空间ID。。 取值范围:长度不超过36,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
|
select |
可选 |
String |
Body |
参数说明:用户自定义sql select语句,最大长度500,该参数仅供标准版和企业版用户使用。 |
|
where |
可选 |
String |
Body |
参数说明:用户自定义sql where语句,最大长度500,该参数仅供标准版和企业版用户使用。 |
|
名称 |
必选/可选 |
类型 |
说明 |
|---|---|---|---|
|
resource |
必选 |
String |
参数说明:资源名称。 取值范围:
|
|
event |
必选 |
String |
参数说明:资源事件。 取值范围:与资源有关,不同的资源,事件不同。event需要与resource关联使用,具体的“resource:event”映射关系如下:
|
响应参数
|
名称 |
类型 |
说明 |
|---|---|---|
|
rule_id |
String |
规则触发条件ID,用于唯一标识一个规则触发条件,在创建规则条件时由物联网平台分配获得。 |
|
rule_name |
String |
用户自定义的规则名称。 |
|
description |
String |
用户自定义的规则描述。 |
|
subject |
RoutingRuleSubject Object |
资源事件信息,即资源变化事件。 |
|
app_type |
String |
租户规则的生效范围,取值如下:
|
|
app_id |
String |
资源空间ID |
|
select |
String |
用户自定义sql select语句,最大长度500,该参数仅供标准版和企业版用户使用。 |
|
where |
String |
用户自定义sql where语句,最大长度500,该参数仅供标准版和企业版用户使用。 |
|
active |
Boolean |
规则条件的状态是否为激活。 |
|
名称 |
类型 |
说明 |
|---|---|---|
|
resource |
String |
参数说明:资源名称。 取值范围:
|
|
event |
String |
参数说明:资源事件。 取值范围:与资源有关,不同的资源,事件不同。event需要与resource关联使用,具体的“resource:event”映射关系如下:
|
请求示例
POST https://{Endpoint}/v5/iot/{project_id}/routing-rule/rules
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********
{
"rule_name" : "rulename",
"description" : "description",
"subject" : {
"resource" : "device",
"event" : "create"
},
"app_type" : "GLOBAL",
"app_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce0",
"select" : "*",
"where" : "product_id='d89c-44dd-8265-b1653d951ce0'"
}
响应示例
Status Code: 201 Created
Content-Type: application/json
{
"rule_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca",
"rule_name" : "rulename",
"description" : "description",
"subject" : {
"resource" : "device",
"event" : "create"
},
"app_type" : "GLOBAL",
"app_id" : "1a7ffc5c-d89c-44dd-8265-b1653d951ce0",
"select" : "*",
"where" : "product_id='d89c-44dd-8265-b1653d951ce0'",
"active" : false
}
错误码
|
HTTP状态码 |
错误码 |
错误码英文描述 |
错误码中文描述 |
处理建议 |
|---|---|---|---|---|
|
400 |
IOTDA.001004 |
AppId is not in request header. |
appId未在请求头设置 |
请参考文档在请求头设置对应的appId。 |
|
IOTDA.009002 |
The resource model does not exist. |
资源模型不存在 |
请确认请求参数中是否携带resource和event,或者notifyType。 |
|
|
IOTDA.009010 |
The resource does not match event. |
resource和event不匹配 |
请排查请求中resource与event参数是否符合华为云文档要求 |
|
|
IOTDA.010019 |
The rule with this same condition is already exist. |
该规则条件的规则已经存在 |
规则已存在, 无需重复注册。 |
|
|
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.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. |
规则数量已达到上限 |
请删除多余的规则后重试。 |
|
|
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.