设备接入 IoTDA设备接入 IoTDA

更新时间:2021/09/06 GMT+08:00
分享

修改订阅

接口说明

应用服务器可调用此接口修改物联网平台中的指定订阅配置,当前仅支持修改订阅回调地址(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://host:port/callbackurltest。

响应参数

名称

类型

说明

subscription_id

String

订阅ID,用于唯一标识一个订阅,在创建订阅时由物联网平台分配获得。

subject

Subject Object

订阅的主题信息,即订阅的资源变化事件。

callbackurl

String

订阅的回调地址,用于接收对应资源事件的通知消息。

channel

String

物联网平台推送通知消息时使用的协议通道。使用“http”填充,表示该订阅推送协议通道为http(s)协议。

表1 Subject

名称

类型

说明

resource

String

订阅的资源名称。

  • device:设备。
  • device.data:设备数据。
  • device.message.status:设备消息状态。
  • device.message:设备消息。
  • device.status:设备状态。
  • batchtask.status:批量任务状态。

event

String

订阅的资源事件,取值范围:activate、update、up。

event需要与resource关联使用,具体的“resource:event”映射关系如下:

  • device:activate(设备激活)
  • device.data:update(设备数据变化)
  • device.message.status:update(设备消息状态)
  • device.message:report(设备消息上报)
  • device.status:update (设备状态变化)
  • batchtask.status:update (批量任务状态变化)

请求示例

PUT https://{Endpoint}/v5/iot/{project_id}/subscriptions/{subscription_id}
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********

{
  "callbackurl" : "https://host:port/deviceActivate"
}

响应示例

Status Code: 200 OK

Content-Type: application/json

{
  "subscription_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca",
  "subject" : {
    "resource" : "device",
    "event" : "activate"
  },
  "callbackurl" : "https://host:port/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解析失败

请联系华为工程师分析解决。

分享:

    相关文档

    相关产品