[英]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.Azure.ServiceBus
和Azure.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.