上下文
我们目前正在使用Microsoft.Azure.ServiceBus.EventProcessorHost从Azure Event-Hub获取数据。我们运行 .NET framework ,而不是 .NET Core 。
此Microsoft announcement(2017年2月2日发布)表明,无论您使用的是什么.NET运行时,较新的Microsoft.Azure.EventHubs.Processor都是未来的发展方向,因为它们将维护单个代码基
与此同时,最近更新的官方微软Event-Hub samples仍然建议使用.NET框架的旧库(Microsoft.Azure.ServiceBus.EventProcessorHost)。
自宣布以来,这两个图书馆都已更新和发展。
问题
由于我们在 .NET framework ,我们应该继续使用哪个库?
我们是否应该迁移到较新的 Microsoft.Azure.EventHubs.Processor ,以便从最新的开发,改进和错误修复中受益?还是旧的一直保持速度?
这个问题也与新手有关,他们选择哪个图书馆来开始使用Azure Event-Hubs。
答案 0 :(得分:3)
我的回答可能不完整,但我更喜欢较新的Microsoft.Azure.EventHubs
库。这是出于以下原因:
答案 1 :(得分:0)
添加一些背景信息以实现本指南的现代化,因为 Microsoft 已经围绕 Azure SDK 发起了一项新计划,其中包括一个新的事件中心客户端库。对于新开发,我们建议使用 Azure.Messaging.EventHubs
系列软件包和 Azure.[[ AREA ]].[[ SERVICE ]]
软件包与其他 Azure 服务配合使用。
Azure.Messaging.EventHubs 是最新一代的事件中心客户端库,将成为开发的焦点,定期发布改进和新功能。它支持 netstandard2.0
平台,允许它与广泛的主机环境一起使用,包括 .NET 5、.NET Core 和完整的 .NET Framework。该库保留了与上一代 Microsoft.Azure.EventHubs
相同的高级功能,但具有更加离散的客户端层次结构和改进的 API。
Azure.Messaging.EventHubs
库是改善 Azure 服务开发体验计划的一部分。为此,它遵循一组统一的 design guidelines,旨在推动跨开发语言的一致体验,并为所有 Azure 服务采用既定的 API 模式。该库还遵循一组 .NET-specific guidelines 以确保 .NET SDK 具有反映 .NET 基类库的自然和惯用的感觉。
Azure.Messaging.EventHubs
库还提供了共享对 Azure 开发体验所做的一些跨服务改进的能力,例如统一的诊断管道提供跨每个客户端库的活动的通用视图.另一个关键改进是使用新的 Azure.Identity 库在不同 Azure 服务的客户端之间共享凭据,从而简化身份验证体验。
虽然我们认为采用现代版本的事件中心客户端库有很大好处,但重要的是要注意旧版本尚未正式弃用。他们将继续得到安全性和错误修复的支持。但是,不太可能添加新功能,并且无法保证现代版本和旧版本之间的功能对等。
有关 Azure.Messaging.EventHubs
库的更多信息可在其 README 和 [示例][https://github.com/Azure/azure-sdk-for-net/tree/master/sdk /eventhub/Azure.Messaging.EventHubs/samples)。还有一个 Migration Guide 可用于帮助从旧版本升级。