We have successfully connected our Azure IoT Hub the Losant IoT Platform using a webhook to send device telemetry messages to Losant. From the documentation we noticed “Webhook requests are limited to 100 calls in a 10-second window”. We are currently using 1 device for testing and have already reached the limit under certain circumstances. For our application it is critical not to discard any device messages.
Messages from the device are first processed in an Azure Function then sent to Losant. If a large amount of messages are sent from a device or devices at a time, or if there is a backlog of messages for whatever reason the Azure Function scales out to meet the increased demand. When a large amount of messages are sent to Losant we notice the “Over rate limit, request throttled error” is encountered as stated in the documentation.
This webhook throttling limit seems low given that all device messages from an Iot Hub will be sent to a single webhook. If we were to use multiple webhooks the limit could still be reached under circumstances even with a single device.
We could send batches of messages every 10 seconds but this would add latency and could cause a backlog so this is not desirable.
Is there something we are missing regarding the use of webhooks? Is there a better recommended way for sending messages from Azure IoT Hub to Losant?