ページネーション(クエリ結果を小さな部分に分けること)は、limit、orderBy、フィルタリングパラメーターで行えます。GraphQL Analytics API は、ページネーション用のカーソルには対応していません。
limit(整数)は、返すレコード数を定義します。orderBy(文字列)は、データの並び順を定義します。
以降の例では、date と clientCountryName の組み合わせが一意であるとします。
結果を制限するには、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"
}
]
}