设备接入 IoTDA设备接入 IoTDA

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

查询指定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解析失败

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

分享:

    相关文档

    相关产品