My question is around the cosmosDB trigger for functions. We are exploring the best way to trigger our functions. Our original idea was to trigger it by pushing messages into a service bus and have the functions instantiate from a service bus trigger. We know that When we trigger a function via Service bus or queue, if the function execution fails for any reason, the messages goes back into the queue after expiration of the lock period. This is suits our usecase but a premium service bus is fairly expensive (600$ pm).
I was wondering what happens when we have a CosmosDB trigger instead? In this case, if the function fails (lets say during an unhandled exception), is the trigger lost or is there some way to manage a re-trigger? How can we manage retries and failure scenarios?