5

语境

我们目前正在使用Microsoft.Azure.ServiceBus.EventProcessorHost从 Azure Event-Hub 引入数据。我们在.NET 框架上运行,而不是在.NET Core上运行。

此 Microsoft公告(2017 年 2 月 2 日发布)表明,无论您使用哪种 .NET 运行时,更新的Microsoft.Azure.EventHubs.Processor都是未来的发展方向,因为它们将维护一个单一的代码库。

同时,最近更新的官方 Microsoft Event-Hub 示例仍然建议 .NET 框架使用较旧的库 (Microsoft.Azure.ServiceBus.EventProcessorHost)。

自发布以来,这两个库都已更新和发展。

问题

由于我们在.NET 框架上,我们应该使用哪个库?

我们是否应该迁移到更新的Microsoft.Azure.EventHubs.Processor以便从最新的开发、改进和错误修复中受益?还是旧的跟上速度?

这个问题也与新手有关,他们应该选择哪个库来开始使用 Azure Event-Hubs。

4

2 回答 2

3

我可能会部分回答,但我更喜欢较新的Microsoft.Azure.EventHubs库。这是出于以下原因:

于 2018-03-15T19:31:34.520 回答
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 服务的开发体验计划的一部分。为此,它遵循一套统一的设计准则,旨在推动跨开发语言的一致体验,并为所有 Azure 服务采用既定的 API 模式。该库还遵循一组特定于 .NET 的准则,以确保 .NET SDK 具有反映 .NET 基类库的自然和惯用的感觉。

Azure.Messaging.EventHubs库还提供了共享对 Azure 开发体验所做的一些跨服务改进的能力,例如提供跨每个客户端库的活动的通用视图的统一诊断管道。另一个关键改进是使用新的Azure.Identity库在不同 Azure 服务的客户端之间共享凭据的简化和简化的身份验证体验。

虽然我们认为采用现代版本的事件中心客户端库有很大的好处,但重要的是要注意旧版本尚未被正式弃用。他们将继续得到安全和错误修复的支持。但是,不太可能添加新功能,并且无法保证现代版本和旧版本之间的功能对等。

有关该Azure.Messaging.EventHubs库的更多信息,请参见其自述文件和 [示例][https://github.com/Azure/azure-sdk-for-net/tree/master/sdk/eventhub/Azure.Messaging.EventHubs/samples)。还有一个迁移指南可用于帮助从旧版本升级。

于 2020-12-22T15:57:53.897 回答