通过 Azure Functions 处理 Azure 事件中心事件与使用 Azure.Messaging.EventHub SDK 的 .NET 控制台应用程序相比,有什么实际区别吗?
Handling Azure Event Hub events via Azure Functions vs .NET Console App using Azure.Messaging.EventHub SDK, any practical differences?
我的应用程序需要一个后台服务来持续接收和处理从 Azure 事件中心流式传输的事件。
我看到 Azure Functions 为此内置了触发器,但问题是我的应用程序是用 .NET 5 编写的,而 Azure Functions 对它的支持目前还相当不成熟。
我还从this documentation看到.NET有现成的SDKAzure.Messaging.EventHubs
。我的理解是,这将 运行 作为控制台应用程序。
我已经在使用 Azure 应用服务(Linux 计划)来托管主 Web 应用。
因此,如果我使用 Azure.Messaging.EventHubs
创建控制台应用程序,我想将其部署为类似 Web 作业的东西,但 Linux 应用程序服务计划不支持它。我想我可以将控制台应用程序部署到单独的 Windows 应用程序服务计划。
下一个最佳选择是什么?与使用 Azure Functions 相比有任何实际差异吗?
还有这个 .NET Core Worker Service,它针对后台服务进行了更优化。我想知道在这个用例中是否有它的位置。
这些选项让我有点困惑。非常感谢您的建议。
Azure function
应该是最好的选择。它具有内置的 eventhub 触发器和处理逻辑,并且易于设置/配置(如通过 Application Insights 进行日志记录)/编写的代码更少。最近(2021 年 3 月 10 日),it is supported for running production .NET 5 apps on Azure Functions。建议大家试一试,没问题就可以使用
对于azure webjobs
,在这种情况下,如果您直接使用SDK,则需要编写许多代码并配置诸如日志之类的东西。
对于.NET Core Worker Service
,如果要用的话也可以发布为azure webjobs。您可以关注 this doc 如何将辅助服务发布为 azure webjob。
我的应用程序需要一个后台服务来持续接收和处理从 Azure 事件中心流式传输的事件。
我看到 Azure Functions 为此内置了触发器,但问题是我的应用程序是用 .NET 5 编写的,而 Azure Functions 对它的支持目前还相当不成熟。
我还从this documentation看到.NET有现成的SDKAzure.Messaging.EventHubs
。我的理解是,这将 运行 作为控制台应用程序。
我已经在使用 Azure 应用服务(Linux 计划)来托管主 Web 应用。
因此,如果我使用 Azure.Messaging.EventHubs
创建控制台应用程序,我想将其部署为类似 Web 作业的东西,但 Linux 应用程序服务计划不支持它。我想我可以将控制台应用程序部署到单独的 Windows 应用程序服务计划。
下一个最佳选择是什么?与使用 Azure Functions 相比有任何实际差异吗?
还有这个 .NET Core Worker Service,它针对后台服务进行了更优化。我想知道在这个用例中是否有它的位置。
这些选项让我有点困惑。非常感谢您的建议。
Azure function
应该是最好的选择。它具有内置的 eventhub 触发器和处理逻辑,并且易于设置/配置(如通过 Application Insights 进行日志记录)/编写的代码更少。最近(2021 年 3 月 10 日),it is supported for running production .NET 5 apps on Azure Functions。建议大家试一试,没问题就可以使用
对于azure webjobs
,在这种情况下,如果您直接使用SDK,则需要编写许多代码并配置诸如日志之类的东西。
对于.NET Core Worker Service
,如果要用的话也可以发布为azure webjobs。您可以关注 this doc 如何将辅助服务发布为 azure webjob。