您可以在物联网平台控制台日志服务页,查询云端运行日志。该日志包含了物联网平台、设备、您的应用程序三者之间的交互通信记录。本文主要介绍云端运行日志中的错误码和排错方法。
日志业务类型说明
上行消息的日志业务类型如下图所示。

- 设备上报数据到IoT Hub,打印设备到物联网平台的消息日志,包含消息的Topic。
- 对于数据处理的不同业务模块,分别打印各模块的日志。
- 如果消息通过云产品流转和服务端订阅(AMQP、MNS服务端订阅),对外发送给客户,将打印规则引擎(云产品流转)、服务端订阅模块的日志。
下行消息的日志业务类型如下图所示。

- 用户通过API调用产生消息,打印API调用日志,包含API名称。
- 对于数据处理的不同业务模块,分别打印各模块的日志。
- 如果有消息发送到设备侧,IoT Hub打印物联网平台到设备的消息日志,包含消息的Topic。
查询云端运行日志
日志字段说明
日志中包含的字段说明如下表。
参数 | 含义 | 备注 |
---|---|---|
时间 | 日志打印时间。 | 无 |
TraceId | 追踪ID,可用于搜索串联模块。 | 无 |
MessageID | 消息ID。 | 仅云端下发物模型操作指令的日志中包含该字段。 |
DeviceName | 设备名称。 | 无 |
业务类型 | 默认显示所有业务类型的日志,您可以仅查询某一业务类型的日志。
|
业务一级区分符,表示业务模块。 |
操作 | 显示相应的操作名称、API名称、服务的method,或消息的Topic。其中:
|
业务二级区分符。 |
内容 | 日志内容可能包含的参数:
|
透传/自定义数据格式产品下的物模型数据解析日志,除了展示日志的内容之外,还会显示设备上报的原始数据的16进制字符串格式内容。 |
状态 | 结果码。200表示成功,其他表示失败。
API调用产生的错误码请参见错误码,其他错误码请参见下文。 |
无 |
设备行为错误码
设备行为主要有设备上线(online)和设备下线(offline)的日志。
错误码 | 含义 | 原因 | 排查 |
---|---|---|---|
200 | 设备上线、主动下线成功。 |
|
可在控制台,设备的设备详情页,查看设备的最后上线时间和当前状态,确认设备状态。 |
1910 | MQTT心跳超时,下线异常。 | 如果物联网平台在保活时间内无法收到任何报文,物联网平台会断开连接,设备端需要进行重连。 | 检查MQTT心跳保活时间是否超出设置。 |
1911 | 设备跟云端之间TCP连接断开,导致设备离线。 |
|
可尝试更换网络环境,或检查防火墙、网关设置,例如关闭防火墙,然后进行验证。
说明 若频繁出现TCP断连,可通过TCPDUMP获取设备异常断连时的抓包文件,然后提交工单排查。
|
427 | 设备下线异常。 | 设备证书信息被其他设备使用,使设备被迫下线。
物联网平台仅以设备证书信息(productKey、deviceName、deviceSecret)来判断设备。
|
在控制台,各设备的设备详情页,查看证书是否重复。 |
521 | 设备被删除。 | 设备在云端已被删除。 | 在控制台设备列表下,搜索设备,查看设备是否已被删除。 |
522 | 设备被禁用。 | 设备在云端已被禁用。 | 在控制台,查看对应的设备状态,是否显示为已禁用。 |
6401 | 拓扑关系不存在。 | 检查拓扑关系时,拓扑关系不存在。 | 在控制台 | 页面,搜索设备,查看设备信息。
消息相关错误码
消息相关日志包括以下业务类型产生的日志:
- 设备到云消息
- 云到设备消息
- 规则引擎(含服务端订阅、云产品流转)产生的数据流转消息
错误码 | 含义 | 原因 | 排查 |
---|---|---|---|
1901 | 受限于网络环境(如tcp write buffer拥堵等),消息发送失败。 | 设备端接受消息的通道阻塞,可能由于网络慢或者设备端消息能力不足,导致了服务端发送消息失败。 | 检查网络情况和设备端消息消费能力。 |
1902 | 消息写入网络时,发生异常。 | 网络异常导致发送失败。 | 检查网络情况。 |
1903 | Topic格式错误。 | 消息Topic格式错误。 | 核对Topic格式。 |
1904 | 云端收到无效的RRPC响应。 | 云端收到的RRPC响应没有对应的RRPC请求。可能是之前的请求已经超时失败。 | 检查设备端回复的RRPC响应,是否已经超时。 |
1905 | 云端等待设备响应RRPC超时。 | 云端下发的RRPC请求,没有在超时时间内收到设备端的RRPC响应。 | 检查设备端上收的RRPC请求,是否已及时响应。 |
1950 | 消息写入时,网络连接发生异常。 | 网络错误导致发送消息失败。 | 检查网络状况。 |
1951 | 未知的响应类型。 | 设备端向云端发送了未知类型的消息。 | 检查设备发送的消息类型。如果您使用的是阿里云设备端SDK,请联系客服或提交工单处理。 |
6831 | Topic或method不符合Alink协议定义。 | 设备上报的Topic或上行脚本解析结果中的method不符合Alink协议定义。 | 查看上报的Topic是否是Alink协议定义的Topic。查看上报的数据是否使用了Alink协议定义的method。 |
9200 | 设备未激活。 | 设备没有在物联网平台激活。新设备注册后,需要设备成功接入物联网平台,并进行数据上报才会激活设备。 | 在控制台,查看设备状态。 |
9201 | 设备离线。 | 设备不在线。 | 在控制台,查看设备状态。 |
9236 | Topic鉴权失败。 | 发布或订阅消息的Topic对应的权限不一致。 | 在控制台,设备的Topic列表中,检查Topic权限是否正确,即用于发布消息的Topic,权限须为发布;订阅消息的Topic,权限须为订阅。 |
9324 | 限流。 | 设备或者租户流转请求过多。 | 降低消息发送频率,或者咨询客服。 |
9325 | 云产品流转服务熔断。 | 数据流转的目标云产品不可用。 | 查看目标云产品是否存在问题。
例如云产品服务欠费、云产品实例被删除、物联网平台访问目标云产品的权限被删除等,都会导致云产品在物联网平台不可用。 |
9321 | 参数非法。 | 传递的请求参数不合法,包括其他云产品参数。 | 根据提示检查对应的参数设置。 |
9320 | Payload非法。 | 设备发送的消息体的格式不合法。 | 检查消息体的格式是否规范。 |
9331 | 消息流转的目标云产品内部错误。 | 数据流转目标云产品的内部发生错误。 | 根据内容中的错误码,到对应云产品官网上查询或者联系客服。 |
9332 | 云产品配置异常。 | 设置消息流转时,配置有误,导致连接目标云产品服务时出错。 | 检查数据流转规则,查看目标产品的配置是否正确,资源是否存在。根据内容中的错误码,到对应云产品官网上查询原因和处理方法。 |
9333 | 云产品授权错误。 | 授予物联网平台访问目标云产品的权限可能有误。 | 检查您的阿里云RAM授权策略。 |
9399 | 服务器内部未知错误。 | 物联网平台内部错误。 | 请联系客服或提交工单。 |
9600 | 单个消费组下的连接数目超过限制。 | 连接数过多,参见服务端订阅使用限制。 | 清除多余连接。 |
9601 | 心跳值不符合要求。 | 心跳值不符合要求,参见服务端订阅使用限制。 | 设置符合要求的心跳值。 |
9602 | 云端主动断开连接。 | 负载均衡调整、云端发布可能触发该问题,接收端需要实现重连逻辑,一般无影响。 | 请提交工单排查。 |
9650 | 消息ACK超时,未收到接收端响应。 | 接收端回复ACK超时。 | 排查接收端消息处理逻辑。 |
9651 | 接收端回复ACK released。 | 接收端回复ACK released。 | |
9652 | 接收端回复NACK。 | 接收端回复NACK。 |
物模型相关错误码
物模型相关日志包括以下业务类型产生的日志:
- 物模型数据上报
- 物模型服务调用
透传/自定义数据格式产品下的物模型相关日志,除了展示日志的内容之外,还会显示设备上报的原始数据的16进制字符串格式内容。
调用服务和设置属性失败错误码如下表。
调用服务时,物联网平台会通过设备的物模型描述(TSL),校验该服务的入参是否符合该服务在TSL中的定义。
错误码 | 含义 | 原因 | 排查 |
---|---|---|---|
9201 | 设备已下线。 | 设备不在线时,会报这个错。 | 在控制台,查看设备的在线状态。 |
9200 | 设备没有激活。 | 设备没有在物联网平台激活。新设备注册后需要进行数据上报。 | 在控制台,查看设备的在线状态。 |
6208 | 设备被禁用。 | 设备被禁用时,属性设置、服务调用被禁止使用。 | 在控制台,查看设备的状态。 如果设备被禁用,启用该设备然后重试操作即可。 |
6300 | TSL校验时,method不存在。 | TSL校验时,设备上报的Alink(标准)格式数据,或者自定义(透传)格式数据经过脚本转换后,没有Alink协议要求的method参数。 | 查看设备属性上报的日志,查看上报的数据。 或者查看设备的本地日志,查看上报的数据。 |
6206 | 查询服务定义出错。 | 调用服务时,会查询服务的定义信息,如果服务不存在会报这个错误。 | 在控制台产品详情中,查看设备所属产品的功能定义,查看传入的服务是否存在。如果存在,请校验传入的参数中是否包含不可见字符。 |
6200 | 脚本不存在。 | 对于透传(自定义)格式的产品,下行服务调用时,会调用产品脚本进行数据的转换。如果脚本不存在,会报这个错误。 | 在控制台产品详情中,查看产品的脚本是否存在。如果存在,请重新保存脚本后再尝试操作。 |
6201 | 脚本转换后数据为空。 | 脚本执行正常,但是脚本中返回的数据为空。如rawDataToProtocol返回null, protocolToRawData返回null或者空数组。 | 查看脚本的内容,确认在什么情况下返回数据为空。 |
6207 | 数据的格式错误。 |
下行同步调用时,或者设备上报数据时出现。 下行同步调用时,可能有如下原因。
|
参见API接口文档及TSL,查看服务需要的数据格式。同时参见Alink协议文档,查看对应的数据格式。 |
系统异常错误码 | |||
5159 | 获取TSL中属性信息时报错。 | 系统异常。 | 可以通过提交工单排查。 |
5160 | 获取TSL中事件信息时报错。 | ||
5161 | 获取TSL中服务信息时报错。 | ||
6661 | 查询租户信息时异常。 | ||
6205 | 下行服务调用异常。 |
上报属性和上报事件失败错误码如下表。
属性上报、事件上报时会通过物的模型描述TSL校验,校验属性是否符合TSL中属性的定义,事件的传入参数是否符合TSL中事件的定义。
错误码 | 含义 | 原因 | 排查 |
---|---|---|---|
6106 | 上报的属性数据过多。 | 设备一次上报的有效属性个数不能超过200个。 | 查看设备属性上报的日志,检查上报的属性个数。或者查看设备本地的日志,查看上报的数据。 |
6300 | TSL校验时,method不存在。 | TSL校验时,设备上报的Alink(标准)格式数据,或者自定义(透传)格式数据经过脚本转换后,没有Alink协议要求的method参数。 | 查看设备属性上报的日志,查看上报的数据。 或者查看设备的本地日志,查看上报的数据。 |
6320 | TSL校验时,属性信息不存在。 | 查询设备的TSL时,没有查询到设备的属性信息。 | 在控制台产品详情中,查看设备所属产品的功能定义,查看属性定义是否存在。不存在时,定义相应的属性。 |
6450 | Alink协议格式的数据中method不存在。 | 设备上报的Alink标准格式数据,或者自定义/透传格式数据经过脚本解析为Alink标准格式数据后无method。 | 查看设备属性上报的日志,检查设备上报的数据中是否有method参数。或者查看设备本地的日志。 |
6207 | 数据的格式错误。 |
下行同步调用时,或者设备上报数据时出现。 设备上报数据时,可能原因为:设备上报的Alink数据格式,或者调用脚本解析后返回的数据格式不是JSON格式。 |
请参见Alink协议文档,查看对应数据格式,并按格式要求上报数据。 |
系统异常错误码 | |||
6452 | 限流。 | 请求量过大,触发限流。 | 可以通过提交工单排查。 |
6760 | 租户的空间存储超出配额。 | 系统异常。 | 可以通过提交工单排查。 |
调用服务和设置属性的reply失败错误码如下表。
错误码 | 含义 | 原因 | 排查 |
---|---|---|---|
通用错误码 | |||
460 | 参数错误。 | 请求的参数错误。 | 可以通过提交工单排查。 |
500 | 系统内部异常。 | 系统发生未知异常。 | 可以通过提交工单排查。 |
400 | 服务请求时报错。 | 调用服务时发生未知错误。 | 可以通过提交工单排查。 |
429 | 请求过于频繁。 | 请求过于频繁,触发系统限流时会报这个错。 | 可以通过提交工单排查。 |
系统异常错误码 | |||
6452 | 限流。 | 请求量过大,触发限流。 | 可以通过提交工单排查。 |
TSL公共错误码如下表。
调用服务、上报属性、和事件上报时,会通过设备的模型描述TSL校验,校验该服务的入参是否符合该服务的定义,属性是否符合属性的定义,事件的传入参数是否符合事件的定义。
错误码 | 含义 | 原因 | 排查 |
---|---|---|---|
6321 | TSL中,属性对应的标识符identifier不存在。 | 系统异常。 | 可以通过提交工单排查。 |
6317 | TSL模型有错误。 | 系统异常。 | 可以通过提交工单排查。 |
6332 | 传入的参数不符合TSL规范。 | 传入参数需要符合定义好的TSL规范。 | 在控制台产品详情中,查看设备所属产品的功能定义。核对传入的参数。 |
6302 | 参数不存在。 | TSL校验服务的入参时,服务要求的参数没有传。 | 在控制台产品详情中,查看设备所属产品的功能定义。服务查询调用、属性设置,查询对应服务的入参,核对传入的参数。 |
6306 | 传入的参数,不符合TSL整形数据的规范。 | TSL校验时:
|
在控制台产品详情中,查看设备所属产品的功能定义和对应服务的入参,核对传入的参数类型。 |
6307 | 传入的参数,不符合TSL中32位浮点数据的规范。 | TSL校验时:
|
在控制台产品详情中,查看设备所属产品的功能定义和对应服务的入参,核对传入的参数类型和参数的取值范围。 |
6322 | 传入的参数,不符合TSL中64位浮点数据的规范。 | TSL校验时:
|
在控制台产品详情中,查看设备所属产品的功能定义和对应服务的入参,核对传入的参数类型和参数的取值范围。 |
6308 | 传入的参数,不符合TSL中布尔类型数据的规范。 | TSL校验时:
|
在控制台产品详情中,查看设备所属产品的功能定义和对应服务的入参,核对传入的参数类型。 |
6309 | 传入的参数,不符合TSL中枚举类型数据的规范。 | TSL校验时,参数类型和TSL中定义的类型不一致。 | 在控制台中产品详情中查看设备所属产品的功能定义,对应服务的入参,核对传入的参数类型。 |
6310 | 传入的参数,不符合TSL中字符类型数据的规范。 | TSL校验时:
|
在控制台中产品详情中查看设备所属产品的功能定义,对应服务的入参,核对传入的参数类型。 |
6311 | 传入的参数,不符合TSL中日期类型数据的规范。 | TSL校验时:
|
在控制台中产品详情中查看设备所属产品的功能定义,对应服务的入参,核对传入的参数类型。 |
6312 | 传入的参数,不符合TSL中结构体类型数据的规范。 | TSL校验时:
|
在控制台产品详情中查看设备所属产品的功能定义,对应服务的入参,核对传入的参数类型。 |
6304 | 校验的参数,在TSL结构体中不存在。 | TSL校验时,传入的参数在结构体中不存在。 | 在控制台产品详情中查看设备所属产品的功能定义,对应服务的入参,核对传入的参数类型。 |
6324 | 校验参数时,数组类型的参数不符合规范。 | TSL校验时:
|
|
6328 | 校验参数时,传入的参数不是数组类型。 | TSL校验时,传入的参数如果不是数组类型,会报这个错。 | 在控制台中产品详情中查看设备所属产品的功能定义,查看对应服务的入参,查询类型为数组的参数,然后检查传入的对应参数是否是数组类型。 |
6325 | 校验参数时,传入的数组类型参数中的元素类型,目前不支持该类型。 | TSL校验参数时报错,数组中元素的类型目前只支持整形、32位浮点类型、64位浮点类型、字符串类型、结构体类型。 | 检查传入的数组元素类型是否是目前支持的类型。 |
系统异常错误码 | |||
6318 | TSL解析时系统异常。 | 系统异常。 | 可以通过提交工单排查。 |
6329 | 校验参数时,TSL中数组规范解析出错。 | ||
6323 | TSL中参数规范格式错误。 | ||
6316 | TSL中解析参数报错。 | ||
6314 | TSL不支持的数据类型。 | ||
6301 | 通过TSL校验参数格式时报错。 | ||
数据解析脚本相关 | |||
26010 | 请求过于频繁被限流。 | 请求过于频繁。 | 可以通过提交工单排查。 |
26001 | 脚本内容为空。 | 执行脚本时获取脚本内容,不存在。 | 在控制台查询产品的脚本是否存在。如果存在,则是否正常保存。应是正式的脚本,不是草稿。 |
26002 | 脚本执行时异常。 | 脚本执行正常,但脚本编写有问题,如脚本中语法错误。 | 在控制台使用相同的参数去执行脚本,查看具体的错误信息,修改脚本。
注意 物联网平台控制台只提供了脚本的基础运行环境,并不会对脚本进行详细的校验。建议在本地详细验证脚本后,再保存该脚本
|
26003 | 脚本执行超时。 | 脚本内容逻辑太复杂,执行时间超出限制(3秒)。 | 在控制台查询脚本的内容,检查编写逻辑,例如是否存在无限循环。建议在本地正常执行脚本后,再保存该脚本。 |
26006 | 脚本执行时必要的方法不存在。 | 脚本执行正常,脚本内容有误。脚本编写要求有protocolToRawData和rawDataToProtocol这两个服务,如果执行时不存在,会报错。 | 在控制台查询脚本的内容,查看protocolToRawData和rawDataToProtocol服务是否存在。 |
26007 | 脚本执行时返回的结果格式不正确。 | 脚本执行正常,但返回的结果不符合格式要求。 脚本编写要求有protocolToRawData和rawDataToProtocol这两个服务。 protocolToRawData返回byte[]数组,rawDataToProtocol要求返回JSON对象。 如果脚本返回的结果不符合这两种格式,返回时会报这个错。 如设备上报数据后,会返回结果给设备。返回的结果也会经过脚本进行解析,如果对于返回结果不做处理,可能会返回不符合要求的类型。 | 在控制台查看脚本,获取脚本内容。按照输入参数,在本地执行脚本并查看返回结果的格式是否符合要求。 |
订阅、取消订阅Topic错误码
错误码 | 含义 | 原因 | 排查 |
---|---|---|---|
9200 | 设备未激活。 | 设备没有在物联网平台激活。新设备注册后,需要设备成功接入物联网平台,并进行数据上报才会激活设备。 | 在控制台,查看设备状态。 |
500 | 系统内部异常。 | 系统发生未知异常。 | 可以通过提交工单排查。 |
403 | 请求被禁止。 | 欠费或Topic鉴权失败。 | 可以通过提交工单排查。 |
在文档使用中是否遇到以下问题
更多建议
匿名提交