修改订阅
接口说明
应用服务器可调用此接口修改物联网平台中的指定订阅配置,当前仅支持修改订阅回调地址(callbackurl)。
URI
| 请求方法 | PUT |
|---|---|
| URI | /v5/iot/{project_id}/subscriptions/{subscription_id} |
| 传输协议 | 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。 |
| subscription_id | 必选 | String | Path | 订阅ID,用于唯一标识一个订阅,在创建订阅时由物联网平台分配获得。 |
| callbackurl | 可选 | String | Body | 订阅的回调地址,用于接收对应资源事件的通知消息,例如:https://10.10.10.10:443/callbackurltest。 |
响应参数
| 名称 | 类型 | 说明 |
|---|---|---|
| subscription_id | String | 订阅ID,用于唯一标识一个订阅,在创建订阅时由物联网平台分配获得。 |
| subject | Subject Object | 订阅的主题信息,即订阅的资源变化事件。 |
| callbackurl | String | 订阅的回调地址,用于接收对应资源事件的通知消息。 |
| channel | String | 物联网平台推送通知消息时使用的协议通道。使用“http”填充,表示该订阅推送协议通道为http(s)协议。 |
| 名称 | 类型 | 说明 |
|---|---|---|
| resource | String | 订阅的资源名称。
|
| event | String | 订阅的资源事件,取值范围:activate、update、up。 event需要与resource关联使用,具体的“resource:event”映射关系如下:
|
请求示例
PUT https://{Endpoint}/v5/iot/{project_id}/subscriptions/{subscription_id}
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********
{
"callbackurl" : "https://10.10.10.10:443/deviceActivate"
} 响应示例
Status Code: 200 OK
Content-Type: application/json
{
"subscription_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca",
"subject" : {
"resource" : "device",
"event" : "activate"
},
"callbackurl" : "https://10.10.10.10:443/deviceActivate",
"channel" : "http"
} 错误码
| HTTP状态码 | 错误码 | 错误码英文描述 | 错误码中文描述 | 处理建议 |
|---|---|---|---|---|
| 400 | IOTDA.009002 | The resource model does not exist. | 资源模型不存在 | 请确认请求参数中是否携带resource和event,或者notifyType。 |
| IOTDA.009005 | The request callbackurl is invalid. | 请求中的callbackurl地址不合法 | 请排查请求中的callbackurl参数是否符合华为云文档要求。 | |
| IOTDA.009006 | The subscription subject already exists. | 该订阅记录已经存在 | 该订阅已存在,无需再重复订阅。 | |
| IOTDA.009010 | The resource does not match event. | resource和event不匹配 | 请排查请求中resource与event参数是否符合华为云文档要求 | |
| 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.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. | 应用与用户信息不匹配 | 请排查该用户下是否有指定的应用。 | |
| IOTDA.009008 | The query count exceeds the upper limit. | 查询数量超过最大限制 | 请排查请求参数是否符合华为云文档要求。 | |
| 404 | IOTDA.009003 | The subscription subject can not be found. | 查询不到该订阅记录 | 请确认请求中的参数是否正确。 |
| 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.