繁体   English   中英

拉/读确切的号码。 来自 azure 服务总线队列的消息

[英]Pull/Read exact no. of messages from azure service bus queue

我想读确切的没有。 一次来自服务总线队列的消息。

我们在 C# 中使用以下代码库,

await using var client = new ServiceBusClient("myconnection");   
ServiceBusReceiver receiver = client.CreateReceiver("myqueue") 
var receivedMessages = await receiver.ReceiveMessagesAsync(100);

我了解到,这种方法不能保证完全没有。 要阅读/拉取的消息。 即,如果我们要求每次执行读取 100 条消息,它将返回任何随机计数 < 100。我尝试了不同的方法,例如配置 PrefetchCount,但没有运气。

C# SDK有办法吗? 或者可能是一些本机机制。

基于此Microsoft 文档:-

Microsoft.Azure.ServiceBusAzure.Messaging.ServiceBus不公开批处理功能,例如一次读取 n 条消息。

要使用batch ,我们可以使用支持的Microsft.Azure.servicebus sdk。

例如在批处理中接收一组消息:

public 

System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<Microsoft.ServiceBus.Messaging.BrokeredMessage>> ReceiveBatchAsync (int messageCount);

有关更多信息,请参阅MayankBargali-MSFT建议的此MS Q&A

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM