The Azure Event Grid currently has Message Queuing Telemetry Transport (MQTT) v3.1.1 support with the current following limitations:

  • QoS2 and Retain Flag aren't supported yet.
    • A publish request with a retain flag or QoS2 fails and closes the connection.
  • Message ordering isn't guaranteed.
  • Keep Alive Maximum is 1160 seconds.


The Cirrus Link MQTT Modules are Sparkplug v3.0.0 compliant and if using Primary Host will always include a Will Message with the retain flag set as part of the client connection. 

If Primary Host is required, they cannot be used with Azure Event Grid until retained messages are supported. 

If connecting with MQTT Engine, setting the Reordering Timeout to a value greater than zero will make MQTT Engine wait up to the specified number of milliseconds after receiving an out of order message for the expected message to arrive before considering it a failure.

Azure Event Grid has a max message limitation of 1Mb. Review our How can I reduce the message size published by MQTT Transmission if you run into this limitation.

  • No labels