我在 Eclipse 中使用 Azure SDK,并尝试检索与服务总线关联的所有队列的列表。我能够正确连接到服务总线,但是当我调用 listQueues 时,它只返回前 100 个队列(大约有 130 个)
ListQueuesOptions options = new ListQueuesOptions();
options.setTop(200);
options.setSkip(0);
System.out.println(options.getTop());
ListQueuesResult queuesResult = serviceBusContract.listQueues(options);
List<QueueInfo> list = queuesResult.getItems();
for (QueueInfo info : list)
{
System.out.println("Queue name: " + info.getPath());
}
似乎 ListQueuesOptions 应该修改检索队列的方式,并且确实如此。将 top 设置为 20 并跳至 0 给出第一个 20,将 top 设置为 40 并跳至 20 则为第二个 20,依此类推。但是如果我运行上面的代码,我仍然只打印 100 个队列。由于某种原因,它是否限制在 100 个?
我知道我可能只是在 100 次迭代中继续调用 listQueues 并计数以查看我是否达到 100,然后再次运行它,但这是一个非常奇怪的问题,所以我想我会问,因为文档是'这不是很清楚。
谢谢!