Azure 服务总线使用 Azure.Messaging.ServiceBus 一次读取所有消息

标签 azure azureservicebus azure-servicebus-topics azure-servicebus-subscriptions

我正在使用 Azure.Messaging.ServiceBus nuget 包来处理 Azure 服务总线。我们已经创建了一个主题和订阅。该订阅有 100 多条消息。我们希望阅读所有消息并在消息到达时继续阅读消息。

Microsoft.Azure.ServiceBus 包(现已弃用)提供了 RegisterMessageHandler,用于处理每个传入消息。我无法在 Azure.Messaging.ServiceBus nuget 包下找到类似的选项。

我可以一次读取一条消息,但每次都必须手动调用 await receive.ReceiveMessageAsync();

最佳答案

要接收多条消息(一批),您应该使用 ServiceBusReceiver.ReceiveMessagesAsync() (不是复数,不是单数“消息”)。此方法将返回它可以发回的任意数量的消息。为了确保检索到所有 100 多条消息,您需要循环直到没有可用的消息。

如果您想使用处理器,新的 SDK 中也提供了该功能。请参阅我对类似问题的回答 here .

关于Azure 服务总线使用 Azure.Messaging.ServiceBus 一次读取所有消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73750889/

相关文章:

java - 通过Java客户端连接Azure服务总线

Azure Functions V4 NET 6 服务总线触发器未触发

Azure函数服务总线触发器运行多次

azure - Windows Azure 存储模拟器 - CORS 支持

azure - AAD 应用程序注册中已存在属性标识符 Uris 具有相同值的另一个对象

azure - Powershell Azure New-AzVirtualNetworkSubnetConfig 重大更改?

azure - 如何通过 Azure 服务总线 session 避免饥饿

java - com.azure.messaging.servicebus.ServiceBusClientBuilder 安全异常 : signer information does not match

由服务总线主题触发的Azure功能不起作用

azure - 在 Azure 媒体服务上存储实时视频