All Products
Search
Document Center

IoT Platform:Limits

Last Updated:Aug 08, 2024

This topic describes the limits that apply when you use IoT Platform.

Device connection

  • Product quantity

    Region

    Description

    Limit

    Germany (Frankfurt) and US (Silicon Valley)

    The maximum number of products that you can create by using an Alibaba Cloud account.

    1,000

    China (Shanghai), Singapore, Japan (Tokyo), and US (Virginia)

    The maximum number of products that you can create on a Standard Enterprise Edition instance, an Exclusive Enterprise Edition instance, or a public instance.

    1,000

  • Device quantity

    Note

    If you want to increase the limit to meet your business requirements, submit a ticket.

    • The maximum number of devices that can be added to a product.

      Region

      Limit

      China (Shanghai)

      3,000,000

      China (Beijing), Singapore, Germany (Frankfurt), US (Silicon Valley), US (Virginia), Japan (Tokyo), and China (Shenzhen)

      1,000,000

      Note
      • To ensure that new devices can be added to a product, we recommend that you configure an alert for the number of devices that you added to the product. This allows you to obtain the number of existing devices in the product in real time. For more information, see Create a threshold-triggered alert rule.

      • If the number of devices exceeds the limit, create another product.

    • The maximum number of devices that can be added to an instance.

      Region

      Instance type

      Limit

      Germany (Frankfurt), China (Shanghai), Japan (Tokyo), Singapore, US (Virginia), and US (Silicon Valley)

      Enterprise Edition instance

      The limit varies based on the value that you specified for the Online Devices specification when you purchased your instance. For more information, see View the available resources of an instance.

      Public instance of the previous version

      1,000,000

      China (Shanghai)

      Public instance of the new version

      500

      China (Beijing) and China (Shenzhen)

      Enterprise Edition instance

      The limit varies based on the value that you specified for the Online Devices specification when you purchased your instance. For more information, see View the available resources of an instance.

      Note
      • For more information about how to purchase an Enterprise Edition instance, see Purchase Enterprise Edition instances.

      • If the number of devices that you want to create for an Enterprise Edition instance exceeds the value that you specified for the Online Devices specification when you purchased the instance, we recommend that you upgrade the specification. For more information, see Specification changes.

      • If the number of devices that you want to create for a public instance of the new version exceeds 500, we recommend that you upgrade the public instance to an Enterprise Edition instance. For more information, see Upgrade the public instance of the new version to an Enterprise Edition instance.

    • The maximum number of devices that you can add by using an Alibaba Cloud account.

      No limits. You can refer to the limit on the number of devices that you can add to an instance.

  • Quantities of sub-devices attached to a gateway

    • You can attach up to 2,000 sub-devices to a gateway.

    • You can dynamically register up to 30 sub-devices for a gateway in a batch.

    • You can send a request to connect or disconnect up to 50 sub-devices to or from a gateway at a time.

    • A gateway can initiate a maximum of 200 queries per second (QPS) to connect sub-devices to IoT Platform.

    For information about throttling limits, see the Messages item in the Connections and communications section.

Device management

Item

Description

Limit

Thing Specification Language (TSL) features

The maximum number of TSL modules that can be created for a product, including the default modules and custom modules.

200

The maximum number of features that can be added to a TSL module.

300

The maximum number of parameters that can be specified for a property of the STRUCT data type.

50

The maximum number of items that can be specified for a feature of the ENUM data type.

100

The maximum length that can be specified for a feature of the TEXT data type.

10,240 characters

The maximum number of elements that can be specified for a feature of the ARRAY data type.

512

The maximum number of input parameters and output parameters that can be added to all services and events.

300

The maximum number of input parameters that can be added to a service.

100

The maximum number of output parameters that can be added to a service.

100

The maximum number of output parameters that can be added to an event.

100

The maximum number of TSL module files that can be imported at the same time.

20

The maximum number of recent versions that can be saved for a TSL model.

10

The maximum size of an imported TSL module in the JSON format.

512 KB

The maximum number of valid characters that can be contained in an imported TSL module in the JSON format.

Valid characters do not include line feeds and alignment characters.

256 KB

The maximum size of a ZIP file that can be obtained by compressing multiple JSON-formatted files when you import a TSL model.

2.5 MB

The maximum number of recursive nesting levels that are supported if you nest data of the ARRAY and STRUCT data types for the ThingModelJson parameter when you call TSL-related operations.

For example, you can nest data of the STRUCT type only in data of the ARRAY type. The data of the STRUCT type cannot contain data of the ARRAY or STRUCT type.

2

Tags

The maximum number of tags that can be attached to a product, device, or device group.

100

Device groups

The maximum number of groups and sub-groups that you can create by using an Alibaba Cloud account.

1,000

The maximum number of devices that can be added to a group.

100,000

The maximum number of groups to which a device can be added.

10

Data parsing

The maximum size of a data parsing script.

128 KB

Remote configurations

The maximum size of a remote configuration file. Remote configuration files support only the JSON format.

64 KB

Retention period of TSL data

The maximum number of days for which property data, event data, and service data can be retained. Data is deleted after the retention period ends.

30 days

File management

The maximum size of files that can be stored in an instance.

1 GB

The maximum size of a single file that can be uploaded by a device over Message Queuing Telemetry Transport (MQTT).

16 MB

The maximum number of files that can be stored on a device.

1,000

Over-the-air (OTA) update

The maximum number of update packages that you can add to an instance of an Alibaba Cloud account.

500

The maximum size of an OTA update package when you download OTA update packages over HTTPS.

1,000 MB

The maximum size of an OTA update package when you download OTA update packages over MQTT.

An OTA update package can contain only one file.

16 MB

The maximum number of devices that can be specified for a batch update.

Important
  • If you upload a device list file to update the devices whose names are specified in the file, you can update up to 1,000,000 devices at a time.

  • If you want to update devices that reside in a specified region, you can update up to 10,000 devices at a time.

If you want to increase the limit to meet your business requirements, submit a ticket.

  • Enterprise Edition instance: 300,000

  • Public instance: 100,000

Device jobs

The maximum number of device jobs that you can add in a single region by using an Alibaba Cloud account.

10,000

Connections and communications

Item

Description

Limit

Device connections

The maximum number of connections that can be established with IoT Platform by using the same device certificate information. The device certificate information includes the ProductKey and DeviceName parameters. Only one connection can be established with IoT Platform at a time.

1

Connection requests

The maximum number of MQTT connection requests per second that you can initiate by using an Alibaba Cloud account.

500

The maximum number of connection requests that a device can send without being throttled.

5

Topic subscription by devices

The maximum number of topics to which a device can subscribe.

After the limit is reached, new subscription requests are rejected. The device can check whether a subscription request is successful by verifying the SUBACK message.

100

Requests

The maximum number of requests per second that can be sent from the devices on a public instance of the previous version of an Alibaba Cloud account to IoT Platform.

10,000

The maximum number of requests per second that can be sent from IoT Platform to the devices on a public instance of the previous version of an Alibaba Cloud account.

2,000

The maximum number of requests per second that can be transmitted between a public instance of the new version and IoT Platform.

5

The maximum number of requests per second that can be sent to and received from an Enterprise Edition instance. The value varies based on the specified value of the TPS of Upstream & Downstream Messages specification when you purchased the instance.

For more information about how to purchase an instance, see Purchase Enterprise Edition instances.

For more information about the limit, see View the available resources of an instance.

Messages

The maximum number of QoS 0 or QoS 1 messages per second that can be sent by a device to IoT Platform.

Note

If you use the MQTT protocol to publish messages, no throttling information is returned. You can view device logs to find the devices whose messages are blocked due to throttling.

30

The maximum number of messages per second that can be received by a device. The limit varies based on the network environment.

If the maximum size of the TCP write buffer is exceeded, an error message is returned. If IoT Platform calls the Pub operation to send requests to a device but the device cannot process the requests at the earliest opportunity, a throttling error message is returned.

50

Bandwidth

The maximum throughput (bandwidth) per connection.

8 Mbps

Cached requests

The maximum number of unacknowledged message publishing requests from a device.

After the limit is reached, IoT Platform rejects new message publishing requests from the device until a PUBACK message is received.

100

Message retention period

The maximum number of days for which a QoS 1 message can be retained.

If no PUBACK message is received before the maximum retention period ends, the message publishing request is rejected.

7 days

MQTT message size

The maximum size of a message that can be sent over MQTT. Messages whose sizes exceed this limit are discarded.

256 KB

CoAP message size

The maximum size of a message that can be sent over Constrained Application Protocol (CoAP). Messages whose size exceeds this limit are discarded.

1 KB

MQTT keep-alive mechanism

The heartbeat interval of an MQTT connection ranges from 30 to 1,200 seconds. If a heartbeat interval does not fall in the specified value range, the server rejects the connection request.

We recommend that you specify a value that is greater than 300 seconds. Default value: 1200. Unit: seconds. For more information about how to specify a heartbeat interval for a device, see Example of connection over MQTT.

A timer starts when IoT Platform sends a CONNACK message as a response to a CONNECT message. When IoT Platform receives a PUBLISH, SUBSCRIBE, PING, or PUBACK message, the timer is reset. IoT Platform checks the heartbeat of the MQTT connection every 30 seconds. The wait time for the heartbeat check is the period between the point in time at which a device connects to IoT Platform and the point in time at which the next heartbeat check is performed. The maximum timeout period is calculated by using the following formula: Heartbeat interval × 1.5 + Wait time for the heartbeat check. If the server receives no messages from the device within the maximum timeout period, the server ends the connection with the device.

30 to 1,200 seconds

RRPC timeout period

The timeout period during which devices must respond to RRPC requests.

8 seconds

Properties

The maximum number of properties that can be submitted by a device at the same time.

500

Historical properties and events

The maximum number of devices that can submit historical TSL data at the same time. This limit applies only to the devices that belong to the same instance.

50

The maximum number of properties that can be submitted by a device at the same time.

30

The maximum number of events that can be submitted by a device at the same time.

20

Batch submission of properties and events

The maximum number of property and event entries that a device can submit at a time.

An entry includes a property name and a property value, or an event name and an event value. The name can be duplicate in multiple entries but the value must be unique in each entry.

1,000

MQTT 5.0 protocol

The maximum number of custom properties that can be added.

20

The maximum length of a custom property key or custom property value.

128 characters

The maximum length of the value of the ResponseTopic or CorrelationData parameter that can be configured in request/response communication mode.

128 characters

Topics

Item

Description

Limit

Custom topic categories

The maximum number of topic categories that can be defined for a product.

200

Permissions

A device can publish messages and subscribe only to the topics that are associated with the device.

None

Topic length

The topic cannot exceed 160 bytes in length and encoded in UTF-8.

160

Topic levels

The maximum number of category levels that can be included in a topic. The number of category levels is equal to the number of slashes (/) in the topic.

7

Topics in a subscription request

The maximum number of topics that can be included in a subscription request.

8

Time to take effect

The period of time that a subscribe operation or unsubscribe operation requires to take effect. A subscription remains valid until you unsubscribe the device from the topic. We recommend that the device subscribe to topics in advance to prevent information missing.

For example, a device sends a subscription request to Topic A. After 10 seconds, the subscription takes effect and the device starts to receive messages from Topic A in real time. The device continues to receive messages from Topic A until you unsubscribe the device from the topic.

10 seconds

Message broadcasting

The maximum size of a message that can be broadcasted.

To generate a message body, you must convert a raw message into binary data and encode the data by using Base64.

64 KB

The number of messages per minute that can be broadcasted by using the server SDK.

1

Device shadows

Item

Description

Limit

JSON levels

The maximum number of levels that can be included in the JSON file of a device shadow.

5

File size

The maximum size of a device shadow JSON file.

16 KB

Properties

The maximum number of properties that can be specified in a device shadow JSON file.

128

QPS

The maximum number of requests per second that can be sent by a device.

20

Data forwarding (previous version)

Item

Description

Limit

Rules

The maximum number of rules that you can create by using an Alibaba Cloud account.

1,000

Data forwarding destinations

The maximum number of data forwarding actions that you can specify in a rule.

10

Message forwarding TPS

  • Public instances of the previous and new versions: The value of the message forwarding TPS of an Alibaba Cloud account is fixed.

  • Enterprise Edition instances: The value of the message forwarding TPS of an instance varies based on the value that you specified for the TPS of Message Forwarding specification when you purchased the instance.

    For more information about how to purchase an instance, see Purchase Enterprise Edition instances.

The RAM users of an Alibaba Cloud account share the quota of the account.

Description:

Message forwarding TPS = Number of messages per second that are sent to your business server by using the server-side subscription feature + Number of messages per second that are sent by using the data forwarding feature.

For example, n messages are forwarded to the message forwarding service and then the messages are forwarded from the message forwarding service to m destinations at a specific second. The value of the message forwarding TPS is calculated based on the following rules:

  • If n is greater than or equal to m, the value of the message forwarding TPS is n.

  • If n is less than m, the value of the message forwarding TPS is m.

Note
  • If the number of messages per second that are forwarded to cloud services exceeds the limit or if the number of concurrent write requests to an Alibaba Cloud service exceeds 40, data forwarding fails due to throttling.

    If a destination service such as ApsaraMQ for RocketMQ, ApsaraDB RDS, or Lindorm is unavailable due to the resource changes of the service, IoT Platform stops forwarding messages and displays the abnormal rule. If an error occurs due to another cause when you send a message, IoT Platform retries three times at the intervals of 1, 3, and 10 seconds. If all retries fail, the message is discarded and an error message is sent to the destination cloud service.

  • If a message is blocked due to throttling, IoT Platform retries to process the message. If multiple retries fail, the message is discarded.

Requirements of data forwarding destinations

Make sure that the instance of the destination cloud service runs as expected. Data forwarding fails in multiple scenarios. These scenarios include instance failure, overdue payments, improper configurations, and invalid parameter settings, such as invalid values and lack of permissions.

None

Message deduplication

When you forward a message, the message may be repeatedly sent until the client returns an ACK message or the message expires. If multiple messages use the same message ID, you can deduplicate the messages based on the ID.

None

Data forwarding (new version)

The message-related limits on the data forwarding feature of the new version are the same as the message-related limits on the data forwarding feature of the previous version.

Item

Description

Limit

Parser

The maximum number of parsers that an instance can contain.

1,000

Data sources

The maximum number of data sources that can be associated with a parser.

1

The maximum number of topics that a data source can contain.

1,000

Data destinations

The maximum number of data destinations that can be associated with a parser.

10

The maximum number of operations that a data destination can contain.

1

The maximum number of error data destinations that can be associated with a parser.

1

Parser script

The maximum size of a parser script.

120 KB

The maximum number of times that a data forwarding function can be executed in a loop in a parser script.

For more information about data forwarding functions, see Forward data to destinations.

100

Server-side subscription

The following table describes the limits on Advanced Message Queuing Protocol (AMQP) server-side subscription.

Item

Description

Verification timeout

After a connection is established, a verification request is immediately sent. If the verification fails within 15 seconds, the server closes the connection.

Data timeout

When a server establishes a connection to IoT Platform, the heartbeat timeout period must be specified by using the idle-timeout parameter in AMQP. The timeout period ranges from 30 to 300 seconds. If no frames are transmitted within the heartbeat timeout period, IoT Platform closes the connection.

After the connection is established, the server must send ping packets within the heartbeat timeout period to maintain the connection. If the server does not send ping packets within the heartbeat timeout period, IoT Platform closes the connection.

Note

If the connection is established by using an Alibaba Cloud SDK, the server does not need to send ping packets to maintain the connection. Make sure that the main process does not exit during the keep-alive period that is provided by the SDK.

ACK timeout

If an AMQP server fails to receive a message from a client within 30 seconds after the AMQP server forwards a message to the client, an ACK timeout occurs.

Policy for message pushing retries

Messages may fail to be consumed in real time when consumers disconnect from IoT Platform or consume messages at a low speed. In this case, messages are accumulated in a queue.

  • After the consumers re-connect to IoT Platform or restore the stable message consumption speed, IoT Platform pushes accumulated messages to the consumers.

  • If the consumers fail to consume the pushed messages, the queue in which the accumulated messages reside may be blocked. If the messages fail to be consumed, IoT Platform retries to push the accumulated messages to the consumers after approximately 1 minute.

Maximum number of saved messages

Each consumer group can retain up to 100 million messages.

Message retention period

One day.

Maximum push rate for real-time messages

Each connection can be used to process up to 1,000 transactions per second. Up to 128 connections can be established.

Maximum push rate for accumulated messages

A consumer group can process up to 200 TPS.

Note

To prevent a large number of accumulated messages, make sure that consumers are connected to IoT Platform. In addition, the consumers must send ACK responses to messages that are pushed by IoT Platform.

Maximum number of consumer groups with which a product can be associated

10.

Maximum number of products with which a consumer group can be associated

1,000.

Maximum number of topics to which a consumer group can subscribe

200.

Note

A topic whose name contains wildcard characters can represent multiple topics but is counted only as one topic. For example, if a consumer group subscribes to the /asde****/+/user/get topic of the asde**** product, the topics of all devices that belong to the product are subscribed but only one topic is counted.

Maximum number of consumer groups

Each Alibaba Cloud account can create up to 1,000 consumer groups.

Maximum number of consumers

Each consumer group can have up to 128 consumers.

Maximum connection requests

Each consumer can initiate up to 100 connection requests within 1 minute.

Note

Consumers are not devices but AMQP clients that are used to receive IoT Platform messages.

For more information about the limits on Message Service (MNS) server-side subscription, see the limits on MNS queues in MNS limits.

Data services

  • Only the time series storage feature of data services is supported in the Japan (Tokyo), Singapore, Germany (Frankfurt), and US (Silicon Valley) regions.

The use of the features of data services is limited by the resource-related specifications of the instance that you purchased.

For more information about how to purchase an Enterprise Edition instance and enable data services, see Purchase Enterprise Edition instances. For more information about the billing rules for the features of data services, see Billing of data services.

IoT Platform API operations

The maximum QPS for the IoT Platform API. For more information, see List of API operations by function.

If a throttling error message is returned when you call an operation, retry to call the operation. For more information about throttling errors, see Common errors. Errors 28 to 30 are throttling errors.