查询订阅列表
接口说明
应用服务器可调用此接口查询物联网平台中的订阅配置信息列表。
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://host:port/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://host:port/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解析失败 |
请联系华为工程师分析解决。 |