How to interpret IoT quota: Subscriptions per second per account

0

Hi everyone,

I've been reading the description of the IoT message broker quota "Subscriptions per second per account", but I'm not sure if I understood it right.

Is this quota per IoT topic? Or does it apply to the total number of subscriptions across all the topics in the account?

Let's say that there are three IoT topics in my AWS account: topic1, topic2 and topic3.

Suppose that as of 10:00 am, the subscription request counts are:

  • topic1 = 170 subscriptions requests
  • topic2 = 170 subscriptions requests
  • topic3 = 160 subscriptions requests

for a total of 500 subscription requests across all the topics.

If 0.5 seconds later there is 1 incoming subscription request for topic3, would the subscription request succeed or fail?

Thanks.

asked 10 months ago333 views
1 Answer
1

The quota is per-region, per-account, and based on the MQTT SUBSCRIBE command--across all MQTT connections. Note that a SUBSCRIBE can contain one or more topics for subscription, so each topic (topic filter) is counted against quota. Note that exceeding quotas would normally happen during events such as all devices losing connectivity and reconnecting such as from an upstream Internet service provider failure. This can introduce a storm effect.

As noted, this quota is subscriptions-per-second across all MQTT connections making SUBSCRIBE attempts.

It's not called out in the documentation what AWS IoT Core will do when the quota is breached, but it would likely fail the SUBSCRIBE(s) being made that take place beyond quota (SUBACK with rejection). This is an adjustable quota, so I would recommend bench marking what the highest potential would be, then request a quote increase to provide a suitable buffer.

Also, in your device or application logic, it's good to add exception handling in case a subscription fails, such as SubscribeError. That could then be used to attempt a subscription retry (with back-off).

AWS
Gavin_A
answered 10 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions