Azure 服务总线:Client/Broker 获取的消息大小与我传递的批处理大小不同

Azure Service Bus: Client/Broker is not fetching the same size of messages as I passed the Batch Size

我正在从 Azure 总线订阅中批量获取消息。对于测试,我传递了 BatchZise 值 2000,但我在列表中得到了大约 300 条消息。是否有任何特定的规则,比如我们可以获取最大大小的消息,或者同时我们只能获取特定数量的记录等?

考虑到性能,什么批量大小最好。

您可以在 link https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-azure-and-service-bus-queues-compared-contrasted

上找到文档

Microsoft 已经提到服务总线的批处理大小不会超过 256 KB。

截图:

您传递给请求的参数是要获取的最大 条消息。不是要获取的确切消息数。代理将在该实例中分发尽可能多的消息。如果您至少需要接收一定数量的消息(我不确定您为什么要这样),则必须循环播放直到收到该数量或更多数量。