I want to consume events from Event Grid, using pull model. I wonder how much time do I have to consume a message? For example, if my application work only on week days, can I consume an event after 72 hours (event produces on Friday, and application starts working on Monday).
I can see that TTL for push model is at most 24 hours, but it is not clear for me, what about pull model.
According to this Quotas and limits - Azure Event Grid - Azure Event Grid | Microsoft Learn and This table - Choose the right Event Grid tier for your solution - Azure Event Grid | Microsoft Learn
Given the Basic tier's throughput of up to
5 MB/sfor both ingress and egress, and a maximummessage retention of 1 day, your application must pull messages within this retention period to avoid missing any.Firstly, converting the throughput to seconds indicates that you can pull 5 MB of data every second. Calculating the potential accumulation of data in 1 day:
5 MB/s * 3600 seconds/hour * 24 hours/day = 432,000 MB
Considering that there are 1024 MB in a GB:
432,000 MB / 1024 = 421.875 GB
This implies that you can accumulate approximately
421.875GB of messages within 1 day.To determine the time available to consume a message, divide the total accumulated data by the throughput rate:
421.875 GB * 1024 MB/GB / 5 MB/s = 86,015.625 seconds
This translates to roughly
23.89 hours.Therefore, you have approximately
23.89 hoursto consume a message from Event Grid using the pull model before it expires, based on the Basic tier's throughput and message retention of 1 Day. The duration available for consuming messages from Azure Event Grid using the pull model is determined by the maximum event retention period allocated for namespace topics, which is set to 7 days as per the provided limits.