edit-icon download-icon

Why only ten entries are returned for query request by using APIs or SDK

最終更新日: Dec 10, 2018

大量のデータが返される API の場合、返されるデータは通常、読みやすいようにページに表示されます。

使用可能なイメージのクエリを例にとると、40 のエントリが返された場合、結果はデフォルトで 4 ページに表示され、各ページには10エントリが含まれます。したがって、返されたデータは不完全なように見えます。

より多くのデータを読み込むには、PageSizeおよびPageNumberパラメータを使用します。2 つのパラメータの特徴は次のとおりです。

パラメータ 必須 説明
PageNumber 整数 いいえ インスタンスステータスリストのページ番号。初期値:1;デフォルト値:1
PageSize 整数 いいえ ページ設定クエリ中に設定された各ページの行数。最大値:100;デフォルト値:10

例えば、ミラークエリーの場合、杭州の公用公衆鏡の照会結果のTotalCountに 39 個のデータが表示されている場合、結果はデフォルトで 4 ページに分割されます。クエリ結果を一度に取得するには、リクエストにPageSizeパラメータを追加し、39 より大きい値に設定します(Java SDKが使用されている場合、PageSizeは、setPageSizeメソッドを使用して39より大きい値に設定できます)。 Requestオブジェクト)。この場合、約 39 のミラーのデータは、要求後に一度に返すことができます。

Java SDKによる設定の表示

Java SDK の場合、リクエストオブジェクトのsetPageSize()メソッドを利用してPageSizeを 39 以上に設定することができます。

Java SDK でPageSizeの値が設定されていない場合、null は getPageSize メソッドを介して返され、API サーバーはデフォルトでPageSizeを 10 に設定します

  1. デフォルトでは、PageSizeの値は 10 です。コードの一部は次のとおりです。

    1. DescribeImagesRequest describe = new DescribeImagesRequest();
    2. //describe.setPageSize(50);//By default, if not set, the value of PageSize is 10.
    3. describe.setRegionId("cn-hangzhou");
    4. describe.setImageOwnerAlias("system");
    5. System.out.println("PageSize of the current request:"+describe.getPageSize());
    6. DescribeImagesResponse response
    7. = client.getAcsResponse(describe);
    8. System.out.println("Total number of images:"+response.getTotalCount());
    9. System.out.println("Number of images in the returned response="+response.getImages().size());
  2. setPageSize を使用してPageSizeを 50 に設定します。そして、一度にすべての画像を返すことができます:コードの一部は次のとおりです。

    1. DescribeImagesRequest describe = new DescribeImagesRequest();
    2. describe.setPageSize(50);//Here in the Request, the value of PageSize is set to 50 through the setPageSize() method.
    3. describe.setRegionId("cn-hangzhou");
    4. describe.setImageOwnerAlias("system");
    5. System.out.println("PageSize of the current request:"+describe.getPageSize());
    6. try {
    7. DescribeImagesResponse response
    8. = client.getAcsResponse(describe);
    9. System.out.println("Total number of images:"+response.getTotalCount());
    10. System.out.println("Number of images in the returned response="+response.getImages().size());

注意: PageSizeの最大値は 100 です。クエリ結果に100を超えるデータが含まれている場合、最後の数ページのデータをPageNumberから取得する必要があります。つまり、PageNumberを 1、2、3 に設定して複数のリクエストが送信されます。 返されたすべての情報を取得します。PageNumberの値は、setPageNumber() を使用してリクエスト内で指定できます。