查询指定id的命令
接口说明
物联网平台可查询指定id的命令。
调试
您可以在API Explorer中直接运行调试该接口。
URI
| 请求方法 | GET |
|---|---|
| URI | /v5/iot/{project_id}/devices/{device_id}/async-commands/{command_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。 |
| device_id | 必选 | String | Path | 参数说明:下发命令的设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 取值范围:长度不超过128,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
| command_id | 必选 | String | Path | 参数说明:下发命令的命令id,用于唯一标识一个消息,在下发命令时由物联网平台分配获得。 取值范围:长度不超过100,只允许字母、数字、下划线(_)、连接符(-)的组合。 |
响应参数
| 名称 | 类型 | 说明 |
|---|---|---|
| device_id | String | 设备ID,用于唯一标识一个设备,在注册设备时由物联网平台分配获得。 |
| command_id | String | 设备命令ID,用于唯一标识一条命令,在下发设备命令时由物联网平台分配获得。 |
| service_id | String | 设备命令所属的设备服务ID,在设备关联的产品模型中定义。 |
| command_name | String | 设备命令名称,在设备关联的产品模型中定义。 |
| paras | Object | 设备执行的命令,Json格式,里面是一个个健值对,如果service_id不为空,每个健都是profile中命令的参数名(paraName);如果service_id为空则由用户自定义命令格式。设备命令示例:{"value":"1"},具体格式需要应用和设备约定。 |
| expire_time | Integer | 物联网平台缓存命令的时长, 单位秒。 |
| status | String | 下发命令的状态。 ·PENDING表示未下发,在物联网平台缓存着 ·EXPIRED表示命令已经过期,即缓存的时间超过设定的expire_time ·SENT表示命令正在下发 ·DELIVERED表示命令已送达设备 ·SUCCESSFUL表示命令已经成功执行 ·FAILED表示命令执行失败 ·TIMEOUT表示命令下发之后,没有收到设备确认或者响应结果一定时间后超时 |
| result | Object | 设备命令执行的详细结果,由设备返回,Json格式。 |
| 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/{command_id}
Content-Type: application/json
X-Auth-Token: ********
Instance-Id: ********
响应示例
Status Code: 200 OK
Content-Type: application/json
{
"device_id" : "c1224afb-e9f0-4916-8220-b6bab568e888",
"command_id" : "b1224afb-e9f0-4916-8220-b6bab568e888",
"service_id" : "Switch",
"command_name" : "ON_OFF",
"paras" : {
"value" : "ON"
},
"expire_time" : 0,
"send_strategy" : "immediately",
"created_time" : "20151212T121212Z",
"status" : "DELIVERED",
"result" : {
"code" : 200
},
"sent_time" : "20151212T121212Z",
"delivered_time" : "20151212T121212Z",
"response_time" : "20151212T131312Z"
} 错误码
| HTTP状态码 | 错误码 | 错误码英文描述 | 错误码中文描述 | 处理建议 |
|---|---|---|---|---|
| 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.000022 | Operation not allowed. The user does not have the permission | 该用户没有权限 | 请排查该用户是否有权限访问。 | |
| IOTDA.001006 | Operation not allowed. Application not found by authorized user or the authorized user has no application. | 用户下没有应用或应用与用户不匹配 | 请排查用户下是否有应用或是否有指定的应用。 | |
| IOTDA.014018 | Operation not allowed. The device has been frozen, can not be operated. | 设备已被冻结,不允许操作 | 请将设备解冻后再重试。 | |
| 404 | IOTDA.014000 | The device does not exist. | 设备不存在 | 请排查请求参数是否有误并确认是否有在平台注册该设备。 |
| 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.