注意事项
HTTP 状态码
1.6 设备消息
1.6.3 查询指定消息 id 的消息
Internal server
error. 服务器内部错误 请联系华为工程师
分析解决。
IOTDA .00002 0
Decrypt IAM token
failed. IAM Token解析失 败
请联系华为工程师 分析解决。
1.6.3 查询指定消息 id 的消息
接口说明
应用服务器可调用此接口查询平台下发给设备的指定消息id的消息。
调试
您可以在API Explorer中调试该接口。
URI
请求方法 GET
URI /v5/iot/{project_id}/devices/{device_id}/messages/{message_id}
传输协议 HTTPS
请求参数
名称 必选/可
选
类型 位置 说明
X-Auth-Token 必选 String Head
er 参数说明:用户Token。通过调用 IAM服务 获取IAM用户Token接口 获取,接口返回的响应消息头中
“X-Subject-Token”就是需要获 取的用户Token。简要的获取方法 样例请参见 Token认证。
Instance-Id 可选 String Head
er 参数说明:实例ID。物理多租下各 实例的唯一标识,一般华为云租户 无需携带该参数,仅在物理多租场
名称 必选/可 选
类型 位置 说明
project_i
d 必选 String Path 参数说明:项目ID。获取方法请参 见 获取项目ID。
device_id 必选 String Path 参数说明:下发消息的设备ID,用 于唯一标识一个设备,在注册设备 时由物联网平台分配获得。
取值范围:长度不超过128,只允 许字母、数字、下划线(_)、连 接符(-)的组合。
message
_id 必选 String Path 参数说明:下发消息的消息ID,用 于唯一标识一个消息,在消息下发 时由物联网平台分配获得。
取值范围:长度不超过100,只允 许字母、数字、下划线(_)、连 接符(-)的组合。
响应参数
名称 类型 说明
message_id String 设备消息ID,用于唯一标识一条消息,在下发设 备消息时由物联网平台分配获得。
name String 消息名称,在下发消息时由用户指定。
message Object 消息内容。
encoding String 消息内容编码格式,取值范围none|base64,默认 值none, base64格式仅支持透传。
payload_for
mat String 有效负载格式,在消息内容编码格式为none时有 效,取值范围standard|raw,默认值standard
(平台封装的标准格式),取值为raw时直接将 消息内容作为有效负载下发。
topic String 消息topic
status String 消息状态,包含PENDING,DELIVERED,
FAILED和TIMEOUT,PENDING指设备不在线,
消息被缓存起来,等设备上线之后下发;
DELIVERED指消息发送成功;FAILED消息发送失 败;TIMEOUT指消息在平台默认时间内(1天)
还没有下发送给设备,则平台会将消息设置为超 时,状态为TIMEOUT。
created_tim
e String 消息的创建时间,"yyyyMMdd'T'HHmmss'Z'"格 式的UTC字符串。
名称 类型 说明 finished_tim
e String 消息结束时间, "yyyyMMdd'T'HHmmss'Z'"格式的 UTC字符串,包含消息转换到DELIVERED和 TIMEOUT两个状态的时间。
请求示例
GET https://{Endpoint}/v5/iot/{project_id}/devices/{device_id}/messages/{message_id}
Content-Type: application/json X-Auth-Token: ********
Instance-Id: ********
响应示例
Status Code: 200 OK
Content-Type: application/json
{ "message_id" : "b1224afb-e9f0-4916-8220-b6bab568e888", "name" : "message_name",
"message" : "string", "topic" : "string", "status" : "PENDING",
"created_time" : "20151212T121212Z", "finished_time" : "20151212T121212Z"
}
错误码
HTTP 状态码
错误码 错误码英文描述 错误码中文描述 处理建议
403 IOTDA .00002 1
Operation not allowed. User not found by IAM token or the authorized user has not subscribed IOTDA service.
没有找到IAM Token所对应的用户 信息或该用户没有 订阅设备接入服务
(IOTDA)
请排查IAM Token 所在用户是否订阅
Operation not allowed. The user does not have the permission
Operation not allowed.
Application not found by
authorized user or the authorized
用户下没有应用或 应用与用户不匹配
请排查用户下是否 有应用或是否有指 定的应用。
HTTP 状态码
错误码 错误码英文描述 错误码中文描述 处理建议
IOTDA .01401 8
Operation not allowed. The device has been frozen, can not be operated.
设备已被冻结,不 允许操作
请将设备解冻后再 重试。
404 IOTDA .01400 0
The device does
not exist. 设备不存在 请排查请求参数是 否有误并确认是否 有在平台注册该设 备。
500 IOTDA .00000