查询设备下队列中的命令 - ListAsyncCommands
功能介绍
查询设备下队列中的命令(处理中的命令),包含PENDING、SENT、DELIVERED三种状态,注意:DELIVERED状态的命令经过系统设定的一段时间(具体以系统配置为准)仍然没有更新,就会从队列中移除,变为历史命令。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
iotda:asynccommands:queryList
List
app *
-
-
-
-
g:EnterpriseProjectId
URI
GET /v5/iot/{project_id}/devices/{device_id}/async-commands
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 参数说明:项目ID。获取方法请参见 获取项目ID。 |
| device_id | 是 | String | 参数说明:下发命令的设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| limit | 否 | Integer | 参数说明:分页查询时每页显示的记录数,默认值为10,取值范围为1-50的整数。 |
| marker | 否 | String | 参数说明:上一次分页查询结果中最后一条记录的ID,在上一次分页查询时由物联网平台返回获得。分页查询时物联网平台是按marker也就是记录ID降序查询的,越新的数据记录ID也会越大。若填写marker,则本次只查询记录ID小于marker的数据记录。若不填写,则从记录ID最大也就是最新的一条数据开始查询。如果需要依次查询所有数据,则每次查询时必须填写上一次查询响应中的marker值。 |
| offset | 否 | Integer | 参数说明:表示从marker后偏移offset条记录开始查询。默认为0,取值范围为0-500的整数。当offset为0时,表示从marker后第一条记录开始输出。限制offset最大值是出于API性能考虑,您可以搭配marker使用该参数实现翻页,例如每页50条记录,1-11页内都可以直接使用offset跳转到指定页,但到11页后,由于offset限制为500,您需要使用第11页返回的marker作为下次查询的marker,以实现翻页到12-22页。 |
| start_time | 否 | String | 参数说明:查询命令下发时间在startTime之后的记录,格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
| end_time | 否 | String | 参数说明:查询命令下发时间在endTime之前的记录,格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 |
| status | 否 | String | 参数说明:命令状态。 取值范围:
默认值: 不涉及 |
| command_name | 否 | String | 参数说明:命令名称。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Instance-Id | 否 | String | 参数说明:实例ID。物理多租下各实例的唯一标识,建议携带该参数,在使用专业版时必须携带该参数。您可以在IoTDA管理控制台界面,选择左侧导航栏“总览”页签查看当前实例的ID,具体获取方式请参考 查看实例详情。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| commands | Array of AsyncDeviceListCommand objects | 设备队列命令列表。 |
| page | QueueCommandPage object | 查询结果的分页信息。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| device_id | String | 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| command_id | String | 设备命令ID,用于唯一标识一条命令,在下发设备命令时由物联网平台分配获得。 |
| service_id | String | 设备命令所属的设备服务ID,在设备关联的产品模型中定义。 |
| command_name | String | 设备命令名称,在设备关联的产品模型中定义。 |
| expire_time | Integer | 物联网平台缓存命令的时长, 单位秒。 |
| status | String | 参数说明:下发命令的状态。 取值范围:
默认值: 不涉及 |
| created_time | String | 命令的创建时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 |
| sent_time | String | 物联网平台发送命令的时间,如果命令是立即下发, 则该时间与命令创建时间一致, 如果是缓存命令, 则是命令实际下发的时间。"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 |
| delivered_time | String | 物联网平台将命令送达到设备的时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 |
| send_strategy | String | 下发策略, immediately表示立即下发,delay表示缓存起来,等数据上报或者设备上线之后下发。 |
| response_time | String | 设备响应命令的时间,"yyyyMMdd'T'HHmmss'Z'"格式的UTC字符串。 |
请求示例
查询设备下队列中的命令。
GET https://{endpoint}/v5/iot/{project_id}/devices/{device_id}/async-commands 响应示例
状态码:200
OK
{
"commands" : [ {
"device_id" : "d4922d8a-6c8e-4396-852c-164aefa6638f",
"command_id" : "b1224afb-e9f0-4916-8220-b6bab568e888",
"service_id" : "Switch",
"command_name" : "ON_OFF",
"expire_time" : 0,
"status" : "PENDING",
"created_time" : "20151212T121212Z",
"sent_time" : "20151212T121212Z",
"delivered_time" : "20151212T131212Z",
"send_strategy" : "immediately",
"response_time" : "20151212T131212Z"
} ],
"page" : {
"count" : 100,
"marker" : "5c8f3d2d3df1f10d803adbda"
}
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 500 | Internal Server Error |
错误码
请参见错误码。