Hello @Bharath Narayan ,
welcome to this moderated Azure community forum.
As @MayankBargali-MSFT already explained, you probably need to try to scale out your (single) Azure Function or build your own Event Processor.
This is because the Event Hub is optimized for 'fan in - fan out' usage.
This means multiple producers can write to the same Event Hub and multiple consumers each get their own copy.
It seems you are looking for a queue.
Using a queue is a strategy to disconnect producers and consumers but each consumer can read their own messages, taken from the queue. So a message is normally not consumed twice unless an error occurs the first time.
This functionality is offered using the Azure Function trigger for a Storage account queue.
Check the documentation (and example) regarding concurrency and retries (Poison messages).
Although I have no experience with the Azure Service Bus Queue trigger, this could offer a similar experience too.
If you want to make use of a queue for parallel processing, you need to check your architecture. You either need to start with a (Storage Account) Queue instead of the EventHub or you need to pass all incoming messages from the Event Hub to the queue first before parallel processing can happen.
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.