Akka.Streams.EventHubs uses a deprecated Azure SDK (WindowsAzure.ServiceBus 6.2.0)
wesselkranenborg opened this issue · comments
Version Information
Version of Akka.NET? N/A
Which Akka.NET Modules? Akka.Streams.EventHubs
Describe the bug
It's not actually a bug but a maintenance request as the Akka.Streams.EventHubs package is using SDK WindowsAzure.ServiceBus 6.2.0. In August 2017 a new SDK version was released by Microsoft to replace this SDK: Microsoft.Azure.ServiceBus. This SDK is however also already replaced by Azure.Messaging.EventHubs since October 2020.
Expected behavior
Upgrade to the latest version of Azure.Messaging.EventHubs SDK
We now switched to using the Kafka protocol. You can enable that on EventHubs which also works fine.
@eaba let's work on switching this over
@eaba let's work on switching this over
On it!
Hi,
Any update on this issue?
I have an issue which I think is similar topic. I have an Akka.Net project that targeting .Net 6, but when I added the latest beta version of Akka.Streams.EventHub, my build throws conflict warning because the dependency libraries such as Microsoft.Azure.ServiceBus.EventProcessorHost and WindowsAzure.ServiceBus are dependent on .Net Framework.
Will this update solve the issue? Or any other solutions?
Thank you.
@anggiputper can you post the error message from NuGet?
Sure! I have not tried to run the project, so it is just compile warning.
warning NU1701: Package 'Microsoft.Azure.ServiceBus.EventProcessorHost 5.0.1' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework 'net6.0'. This package may not be fully compatible with your project. warning NU1701: Package 'WindowsAzure.ServiceBus 6.2.2' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8' instead of the project target framework 'net6.0'. This package may not be fully compatible with your project.
This is not as simple as it sounds, in Azure.Messaging.EventHub
, Microsoft basically changed the whole API surface, the only way to support this without creating a lot of headaches for all our users is to basically create a "versioned" EventHub plugin for each of the NuGet namespace changes.
I haven't looked into this, but we might still able to support the Microsoft.Azure.ServiceBus
.
We'll try to support it, but this will take a long time to develop.
What I'm proposing is this:
- We will leave the
Akka.Streams.Azure.EventHub
NuGet package for the old package that uses theWindowsAzure.ServiceBus
NuGet package, - Create a new
Akka.Streams.Azure.EventHub.V4
NuGet package that supportsMicrosoft.Azure.ServiceBus
only if there are a huge request for this. This package is, after all, will be deprecated really soon. If the API is still compatible with the old SDK, we might get away with copying over the old project and apply a refactor, no promises. - Create a new
Akka.Streams.Azure.EventHub.V5
NuGet package that supportsAzure.Messaging.EventHubs
, this will take some time to do, its basically creating a whole new module/plugin.
We've decided to update the current implementation to Microsoft.Azure.EventHubs
and maybe create a separate NuGet package for Azure.Messaging.EventHubs
.
Support added with the new Akka.Streams.Azure.EventHub.V5
package.