Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

ページネーション

最終更新 Markdown で表示Agent セットアップ

ページネーション(クエリ結果を小さな部分に分けること)は、limitorderBy、フィルタリングパラメーターで行えます。GraphQL Analytics API は、ページネーション用のカーソルには対応していません。

  • limit(整数)は、返すレコード数を定義します。
  • orderBy(文字列)は、データの並び順を定義します。

カーソルなしでページをクエリする

以降の例では、dateclientCountryName の組み合わせが一意であるとします。

クエリの最初の n 件を取得する

結果を制限するには、limit パラメーターを整数で追加します。たとえば、最初の 2 件をクエリします。


firewallEventsAdaptive (limit: 2, orderBy: [datetime_ASC, clientCountryName_ASC]) {
    datetime
    clientCountryName
}

レスポンス


{
  "firewallEventsAdaptive" : [
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "UM"
    },
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "US"
    }
  ]
}

フィルターで次のページをクエリする

次の n 件を取得するには、直前のクエリの最後の結果を除外するフィルターを指定します。前の例では、clientCountryName フィールドに greater-than 演算子(_gt)、datetime フィールドに greater-or-equal 演算子(_geq)を付けます。ここで並び順を具体的にすることが効いてきます。並び順をより細かくすると、結果を見落とす可能性が下がります。


firewallEventsAdaptive (limit: 2, orderBy: [datetime_ASC, clientCountryName_ASC], filter: {datetime_geq: "2018-11-12T00:00:00Z", clientCountryName_gt: "US"}) {
    datetime
    clientCountryName
}

レスポンス


{
  "firewallEventsAdaptive" : [
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "UY"
    },
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "UZ"
    }
  ]
}

前のページをクエリする

前の n 件を取得するには、フィルターと並び順を逆にします。


firewallEventsAdaptive (limit: 2, orderBy: [datetime_DESC, clientCountryName_DESC, filter: {datetime_leq: "2018-11-12T00:00:00Z", clientCountryName_lt: "UY"}]) {
  datetime
  clientCountryName
}

レスポンス


{
  "firewallEventsAdaptive" : [
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "US"
    },
    {
      "datetime": "2018-11-12T00:00:00Z",
      "clientCountryName": "UM"
    }
  ]
}

役に立ちましたか?