arcus-azure / arcus.eventgrid

Azure Event Grid development in a breeze
https://eventgrid.arcus-azure.net/
MIT License
17 stars 6 forks source link

Using client Azure SDK for Azure Event Grid #193

Closed stijnmoreels closed 2 years ago

stijnmoreels commented 2 years ago

Is your feature request related to a problem? Please describe. As it turns out, the Azure SDK has a library for publishing/deserializing.

Describe the solution you'd like We should carefully determine what parts of the Arcus Event Grid library are still valid and we should make sure that we are compatible with the new Azure SDK.

Describe alternatives you've considered Don't support our Azure Event Grid library anymore.

Additional context https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/eventgrid/Azure.Messaging.EventGrid#azure-event-grid-client-library-for-net

stijnmoreels commented 2 years ago

These are the things we have as added value:

Advantage Arcus Azure SDK
One place to deserialize events ✔ uses EventParser for both ❌ separates in Event Grid events and Cloud Events
Reliable publishing ✔ builder pattern to add Polly ❌ only client without retry mechanism
Abstraction for injection ✔ publishing as interface so it can be overwritten by custom code ❌concrete class, not a good idea for injection
stijnmoreels commented 2 years ago

This will probably be a breaking change... We could look into this to support both, like we did in Arcus.Security for a while. That's maybe a good thing.

stijnmoreels commented 2 years ago

Will move this to v3.3 as it's a big change, and we should probably first focus on moving towards .NET 6.