创建规则触发条件
接口说明
应用服务器可调用此接口在物联网平台创建一条规则触发条件。
调试
您可以在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.