Downtime during recreation Service Bus and EventHub configured as Endpoints in Message Routing of IOT Hub

Viktor Ponomarov 0 Reputation points
2024-07-04T14:38:31.4866667+00:00

I am planning to enable zone redundancy for my Azure resources: Service Bus and Event Hub. This change will trigger their recreation. However, I use these services as endpoints in the Message Routing of my IoT Hub, and my devices continuously send a large volume of messages.

Will there be any downtime during the recreation process, and is there a risk of losing messages?

Azure Service Bus
Azure Service Bus
An Azure service that provides cloud messaging as a service and hybrid integration.
579 questions
Azure IoT Hub
Azure IoT Hub
An Azure service that enables bidirectional communication between internet of things (IoT) devices and applications.
1,149 questions
Azure Event Hubs
Azure Event Hubs
An Azure real-time data ingestion service.
591 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Sander van de Velde | MVP 30,786 Reputation points MVP
    2024-07-04T15:46:22.31+00:00

    Hello @Viktor Ponomarov ,

    welcome to this moderated Azure community forum.

    Good question.

    The IoT Hub does not have a 'pause' button for streaming data but it has a retention time for incoming messages:

    User's image

    So you can read historical data:

    Specifies how long this IoT hub will maintain device-to-cloud events, between 1 and 7 days.

    Read this section if you want to make use of this.

    Notice this seems related to the default event-hub-compatible endpoint. You need to use separate consumer groups if you have multiple consumer services too .

    Probably, you are using custom endpoints.

    I was not able to find a reference that these support the retention too.

    So probably you will lose some data if you are dropping and recreating the services...

    What if you create new EventHubs and services busses next to the existing ones?

    If this is done, you probably can create an endpoint for the new services first. Then in a separate step, you can have the existing routes pointing to the new endpoints.

    I expect this will minimize the impact on dropping routed messages...

    I recommend testing this first :-)

    Keep in mind you have a maximum of 10 endpoint for a basic/standard IoT Hub.


    If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.

    0 comments No comments