查询订阅列表
接口说明
应用服务器可调用此接口查询物联网平台中的订阅配置信息列表。
URI
| 请求方法 | GET |
|---|---|
| URI | /v5/iot/{project_id}/subscriptions |
| 传输协议 | 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。 |
| resource | 可选 | String | Query | 订阅的资源名称。
|
| event | 可选 | String | Query | 订阅的资源事件,取值范围:activate、update。 event需要与resource关联使用,具体的“resource:event”映射关系如下:
|
| callbackurl | 可选 | String | Query | 订阅的回调地址,用于接收对应资源事件的通知消息,例如:https://10.10.10.10:443/callbackurltest。 |
| app_id | 可选 | String | Query | 资源空间ID。此参数为非必选参数,存在多资源空间的用户需要使用该接口时,可以携带该参数查询指定资源空间下的消息订阅列表,不携带该参数则会查询该用户下所有消息订阅列表。 |
| channel | 可选 | String | Query | 物联网平台推送通知消息时使用的协议通道。使用“http”填充,表示该订阅推送协议通道为http(s)协议。 |
| limit | 可选 | Integer | Query | 分页查询时每页显示的记录数。默认每页10条记录,最大设定每页50条记录,取值范围为1-50的整数。 |
| marker | 可选 | String | Query | 上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 |
| 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页。 |
响应参数
| 名称 | 类型 | 说明 |
|---|---|---|
| subscriptions | List<SubscriptionItem> | 订阅配置信息列表。 |
| count | Integer | 满足查询条件的记录总数。 |
| marker | String | 本次分页查询结果中最后一条记录的ID,可在下一次分页查询时使用。 |
| 名称 | 类型 | 说明 |
|---|---|---|
| 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”映射关系如下:
|
请求示例
GET https://{Endpoint}/v5/iot/{project_id}/subscriptions?resource={resource}&event={event}&callbackurl={callbackurl}&app_id={app_id}&channel={channel}&limit={limit}&marker={marker}&offset={offset}
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********
响应示例
Status Code: 200 OK
Content-Type: application/json
{
"subscriptions" : [ {
"subscription_id" : "5bcaddda-75bf-4623-8c8d-26175c41fcca",
"subject" : {
"resource" : "device",
"event" : "activate"
},
"callbackurl" : "https://10.10.10.10:443/deviceActivate",
"channel" : "http"
} ],
"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.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.