Quotas and Limits
| Limit Type | Description | Default Value | Adjustable |
|---|---|---|---|
| Rules per group | The maximum number of rules that can be created under a group | 5 | No |
| Consumer groups per group | The maximum number of consumer groups that can be created under a group | 2 | Yes |
| Shared subscriptions per group | The maximum number of subscriptions in a shared subscription group. | 100 | No |
| Maximum message expiry time | The maximum message expiry time of MQTT5 message | 604800 | No |
| Topic alias maximum | The maximum value of MQTT 5 Topic Alias topics allowed for a client can per connection. If the client tries to publish with Topic Alias topics beyond the maximum limit, the client will be disconnected. | 8 | No |
| Retain Message Publish-In Per second | MQTT/HTTP publish requests with a RETAIN flag set made to the same topic per second. | 1 | No |
| Replay jobs per group | The maximum number of replay jobs active (InProgress/Paused) per group | 5 | Yes |
| Firmwares per group | The maximum number of firmwares (used for OTA job update) | 50 | Yes |
Consumer Groups
Section titled “Consumer Groups”| Limit Type | Description | Default Value | Adjustable |
|---|---|---|---|
| Consumer groups per group | The maximum number of consumer groups that can be created under a group | 5 | Yes |
IoT Hub tier and units
Section titled “IoT Hub tier and units”When a group is initially onboarded in Trimble IoT under Azure cloud, by default IoT Hub will be provisioned in S1 tier with 1 unit. Based on integrating application and devices’ projected traffic IoT hub tier and units for the group will be scaled. Contact support for queries related to scaling.
| Tier | S1 | S3 |
|---|---|---|
| Max Units | 200 | 10 |
| Total Messages per/day | 400000 /unit | 300000000 /unit |
| C2D (Outbound) Messages | 1.67 /sec/unit | 83.33 /sec/unit |
| D2C (Inbound) Messages | Higher of 100 /sec or 12 /sec/unit | 6,000 /sec/unit |
| Identity registry operations (create, update, delete) | 1.67 /sec/unit | 83.33 /sec/unit |
| New device connections (this limit applies to the rate of new connections, not the total number of connections) | Higher of 100 /sec or 12 /sec/unit | 6,000 /sec/unit |
Device Connection State Events
Section titled “Device Connection State Events”The device connection state returned by the GET /devices/{id} API is updated asynchronously and may reflect changes with a delay of up to 2 minutes.
When a device connects and disconnects frequently within a one-minute period, only the latest connection state event and its associated timestamp are returned by the GET /messages API.
IoT Hub allows 3x the limits based on the current tier set for upto 1 minutes as burst. For example,
-
For S1 1 Unit - 1.67 Outbounds(C2D)/sec is allowed. So, upto 5 Outbounds(C2D)/sec will be allowed as burst for a few seconds upto 1 minute.
-
For S1 5 Units - 8 Outbounds(C2D)/sec is allowed. So, upto 24 Outbounds(C2D)/sec will be allowed as burst for a few seconds upto 1 minute.
Device and Twin Updates
Section titled “Device and Twin Updates”Twin updates to a device if done frequently (say., several times within a minute) will be throttled with a TooManyRequests response.
Handling Throttled Requests
Section titled “Handling Throttled Requests”Use response status code 429 to identify that the request has been throttled. Recommendation is to use the response status code to decide on appropriate action whereas the content in the response body can be used for the purpose of logging only. Please examine if the operation is suitable for retrying. Determine an appropriate retry count and interval with exponential back-off mechanism, wherever applicable. Test your retry strategy and implementation. In the event of undesired throttling behavior, contact support for assistance.