物联网平台设置了以下使用限制。

产品与设备

限制项 描述 限制
标签个数 单个产品、设备或分组最多可以添加的标签数。 100
产品数量 单账号最多可以创建的产品数。 1,000
设备数量 单产品最多可以添加的设备数。
说明 若该限制数量不能满足您的业务需求,请提交工单说明您的需求。
500,000
单账号最多可以添加的设备数。
说明 若该限制数量不能满足您的业务需求,请提交工单说明您的需求。
10,000,000
网关与子设备 单个网关下最多添加的子设备数。 1,500
物模型功能定义 单个产品最多可添加的功能数。 200
struct类的属性,最多可添加的参数个数。 10
当功能的数据类型为enum时,枚举项最多不超过100个。 100
当功能的数据类型为text时,数据长度不超过2,048字符。 2,048字符
当功能的数据类型为为array时,数组内的元素不超过128个 128
服务中可添加的入参和出参分别不超过20个。 20
事件中可添加的出参不超过50个。 50
导入物模型时,文件大小不超过256 KB。 256 KB
设备分组 一个阿里云账号下最多可有1,000个分组,包括父分组和子分组。 1,000
单个分组内最多添加20,000个设备。 20,000
一个设备最多可以被添加到10个分组中。 10
数据解析 数据解析脚本文件大小不能超过48 KB。 48 KB
远程配置 远程配置文件,仅支持JSON格式,大小不能超过64 KB。 64 KB
数据存储时间 产品运行时,产生的属性、事件、服务数据存储时间为30天。超出30天的数据不再保存。

若您有更长时间的数据存储或分析需要,可以使用数据分析服务

30天
文件管理 一个阿里云账号可存储在物联网平台服务器的文件总大小的上限。 1G
单个设备最多可存储的文件数量。 1,000
固件升级 一个阿里云账号下最多可包含的固件数量。 500
单个固件文件大小限制。 1,000 MB

连接通信

限制项 描述 限制
设备接入限制 使用同一个设备证书信息(相同的Productkey、DeviceName),在同一时刻,只能和服务器建立一个连接。

不支持一个设备证书信息同时用于多个MQTT协议连接,或者一个设备证书信息即用于一个MQTT协议连接,又同时用于一个CoAP协议连接等类似情况。

1
连接次数 单账号每秒最大MQTT连接请求数。 500
单设备每分钟最大连接请求次数。 5
设备订阅数 单设备的最大订阅数。

超过订阅数的请求将会被直接拒绝。设备端可以通过验证SUBACK消息,确认请求是否成功。

100
请求数量 单账号每秒由设备端向物联网平台发送的请求数。 10,000
单账号每秒由物联网平台向设备端发送的请求数。 2,000
规则引擎接收消息数 单账号每秒到达规则引擎数据流转的消息数量。 1,000
服务端订阅限流 单账号每秒通过服务端订阅可接收的最大消息数。 1,000
消息通信限流 单设备每秒最多可上报的消息数量。
说明 MQTT的Pub上报消息限流,协议上没有任何应答。您可以通过日志服务发现设备被限流的警告。
  • QoS 0:30条/秒
  • QoS 1:10条/秒
单设备接收下行消息的最大限制为50条/秒,同时受限于网络环境。

如果网络tcp write buffer拥堵,将直接返回错误。通过Pub接口发指令给设备,如果设备不能及时处理,将收到限流错误。

50条/秒
带宽 单个连接每秒的吞吐量(带宽)最大限制。 1,024 KB
缓存请求数 物联网平台限制了单客户端的最大未确认入站发布请求数。

达到此限制后,除非返回PUBACK消息,否则服务器不会再接收新的客户端发布请求。

100
消息存储时长 QoS1消息的最大存储时间。

如果最大时间后,未从客户端接收到PUBACK消息,则会丢弃这些发布请求。

7天
MQTT消息长度 MQTT单个发布消息最大长度。超过此大小的发布请求将被直接拒绝。 256 KB
CoAP消息长度 CoAP单个发布消息最大长度。超过此大小的发布请求将被直接拒绝。 1 KB
MQTT保活 MQTT连接心跳时间为30至1,200秒。心跳时间不在此区间内,服务器将会拒绝连接。

建议取值300秒以上。

从物联网平台发送CONNACK响应CONNECT消息时,开始心跳计时。收到PUBLISH、SUBSCRIBE、PING、或 PUBACK消息时,会重置计时器。超过指定1.5倍心跳时间未收到消息(指定心跳时间乘以1.5),服务器将自动断开连接。

30-1,200秒
RRPC超时时间 设备响应RRPC请求的超时时间。 8秒

Topic相关

限制项 描述 限制
自定义Topic类数量 一个产品最多可以定义50个Topic类。 50
权限 设备只能对自己的Topic进行消息发布与订阅。 -
Topic长度 Topic长度不能超过128字节, UTF-8编码字符。 128字节
Topic类目 一个Topic中最多可包含多少个层级类目,即Topic中斜杠的最大数量。 7
订阅数 每个订阅请求的最大订阅数。 8
操作生效时间 订阅和取消订阅都是操作10秒后生效,一次订阅永久生效。建议您提前订阅Topic以免漏失信息。

示例:设备向Topic A发送SUB请求,10秒后,订阅生效,设备开始收到实时消息,除非取消订阅,设备将一直接收Topic A的消息。

10秒
广播Topic 一个广播Topic最多可以被1,000个设备订阅。 1,000
服务端SDK每秒只可发一条广播消息。 1条/秒

设备影子

限制项 描述 限制
JSON层级 设备影子JSON文档的最大层级深度。 5
文件大小 设备影子JSON文档的最大限制。 16 KB
属性数量 设备影子JSON文档的属性数量限制。 128
每秒请求数 每个设备每秒的最大请求数。 20

数据流转

限制项 描述 限制
规则数量 单账号最多可以设置1,000条规则。 1,000
流转目标数量 一条规则中转发数据的操作不能超过10个。 10
限流

在目标云产品实例性能足够的情况下,数据流转为单个阿里云账号提供1,000 QPS的数据转发能力。子账号共享主账号配额。

如果请求量超出该限制或云产品写入耗时超过1秒,数据转发会被限流。被限流的消息,系统将自动重试转发,重试10分钟仍未成功的,将被直接丢弃。

1,000 QPS
流转目标要求 数据转发依赖目标云产品,需确保目标云产品实例正常。目标云产品的实例宕机、欠费、参数错误(如授权变更、值非法)、配置错误等异常状况将会导致消息流转失败。 -
消息到达次数 数据流转不保证消息只到达一次,在分布式环境下,某些rebalance短暂不一致可能导致一条消息发送多次情况。多次发送的消息ID相同,应用方收到消息后需要根据消息ID去重。 -

服务端订阅

限制项 描述 限制
SDK语言 服务端HTTP/2 SDK仅支持ava和.NET两种语言J,且Java SDK仅支持JDK8。 Java和.NET
认证超时 连接建立之后,需要立刻发送认证请求。如果15秒内没有认证成功,服务器将主动关闭连接。 15秒
数据超时 连接建立之后,客户端需要定期发送PING包来维持连接。发送PING包的时间间隔可以在客户端设置,默认为30秒,最大60秒。 60秒
重试推送超时 消息推送服务端失败后,物联网平台会进行重试推送,每次批量推送10条消息。若该批次消息在10秒后,仍未收到客户端回复的ACK,则认为推送超时。 10秒
重试推送时间间隔 因客户端离线、消息消费慢等原因导致的堆积消息,将每60秒重新推送一次。
说明 对于QoS0消息,仅在消费端不在线或因限流导致消息堆积时,服务器会尝试重发。如果消费端在线,并且服务器认为发送消息TCP write成功,则不会再重试。

由于QoS0消息发送后,不响应ACK,如果消费端系统异常,可能存在丢失消息的风险。

60秒
消息保存时长 QoS1的消息,最大保存时长为7天。 7天
SDK实例个数 每个阿里云账号最多可以启动64个SDK实例。 64
单租户限流 默认单租户的限流为1,000 QPS。如果您有特殊需求,请提交工单 1,000 QPS

云端API限制

API名称 单账号(QPS) 单IP(QPS)
Pub 1600 100
RRpc 1000 100
PubBroadcast 1 -
GetDeviceShadow 500 100
UpdateDeviceShadow 500 100
InvokeThingsService 10 -
SetDevicesProperty 10 -
其他接口 50 -

若您调用接口收到限流报错,像公共错误中29-31类型报错,可以重新尝试调用。

说明
  • 单账号QPS指单个阿里云账号每秒可调用次数,子账号共享主账号配额。
  • 单IP QPS指单个IP地址(单台服务器)每秒可调用次数。