2

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 に設定し、skip を 0 に設定すると、最初の 20 が得られ、top を 40 に設定し、skip を 20 に設定すると、2 番目の 20 が得られます。しかし、上記のコードを実行しても、まだ 100 個のキューしか出力されません。なんらかの理由で100で制限されていますか?

おそらく100回の繰り返しでlistQueuesを呼び出し続けて、100に達したかどうかを確認してからもう一度実行できることを認識していますが、これは本当に奇妙な問題なので、ドキュメントがこれについてはよくわかりません。

ありがとう!

4

2 に答える 2

2

top に設定できる最大値は 100 です。毎回 100 のバッチを要求する必要があります。次のバッチを取得するにはスキップを使用します。

于 2013-06-21T16:54:04.040 に答える
0

フィドラーやワイヤーシャークなどを起動して、リクエストへの応答を調べてみましたか? List Queues ( http://msdn.microsoft.com/en-us/library/windowsazure/hh780759.aspx ) の API を確認しましたが、ページング動作が見られないため、推測せずにはいられません。リスト全体を(ドキュメントに従ってAtomPub形式で)返し、結果はJava SDKによって解析されます。

これは、使用している SDK のバグである可能性はありますか?

于 2013-06-20T19:59:32.840 に答える