Instana におけるページネーション REST API

ページネーションは、 Instana REST API で使用され、 Instana の API エンドポイントから返される大量のデータを効率的にナビゲートするために用いられます。 このガイドでは、ページネーションの仕組みと効果的な活用方法について説明します。

ページネーションの理解

API エンドポイントが広範なリソースのリストを返す場合、 API はページネーションを使用して結果を扱いやすいサイズのチャンクに分割します。 ページネーションのパラメータは、各 API レスポンスで返されるデータのサブセットを制御します。 Instana で使用されるページネーションには、ページベースとカーソルベースの 2 種類があります。

ページベースのページネーション

ページベースのページネーションでは、 API リクエストごとに返されるデータのサブセットを制御するために、パラメータ`?page page `(` limit ?page`または`?page`とも offset呼ばれる)と pageSize `?page`が一般的に使用されます。

データ・モデル

Instana のページベースのページネーションタイプは、以下の Pagination データモデルを持ちます:

{
    "type": "object",
    "properties": {
        "page": {
            "type": "integer",
            "format": "int32",
            "minimum": 1
        },
        "pageSize": {
            "type": "integer",
            "format": "int32",
            "maximum": 200,
            "minimum": 1
        }
    }
}

属性表

以下の表は、型 Pagination の属性の定義を概説しています:

属性 説明
page データセット内で結果が返される特定のページ。
pageSize 返される各ページまたはデータチャンクのサイズ。

ページネーションの例

以下の例は、: Paginationの使用法を示しています:

{
    "page": 2,
    "pageSize": 50
}

どこで使用できますか?

以下の API エンドポイントのグループは、以下の Pagination スキーマを使用します:

API エンドポイントの集合であるアプリケーションリソースは、ページベースのページネーションも提供します。 アプリケーションリソースは Pagination スキーマを使用せず、代わりにリクエストペイロードスキーマに 属性 page と 属 pageSize 性を含みます。

カーソルベースのページネーション

カーソルベースのページネーションでは、カーソルはデータセット内の位置を指し示し、そこからデータが取得される。 Instana カーソルベースのページネーションには2つのサブタイプがあります:汎用カーソルページネーション(CursorPagination)と、インフラストラクチャ監視に特化したカーソルページネーション(CursorPaginationInfraExploreCursor)です。

汎用カーソルページネーション

この CursorPagination タイプは、 Instana の API 環境において、カーソルベースのページネーションで最も一般的な形式です。

データ・モデル

Instana の汎用カーソルベースのページネーションタイプは CursorPagination、以下のデータモデルを持ちます:

{
    "type": "object",
    "properties": {
        "ingestionTime": {
            "type": "integer",
            "format": "int64"
        },
        "offset": {
            "type": "integer",
            "format": "int32"
        },
        "retrievalSize": {
            "type": "integer",
            "format": "int32",
            "maximum": 200,
            "minimum": 1
        }
    }
}

属性表

以下の表は、型 CursorPagination の属性の定義を概説しています:

属性 説明
ingestionTime 連続するクエリ間で使用する開始点へのポインタ。
offset 連続するクエリ間で使用する開始点へのポインタ。
retrievalSize 取得する値の数。

カーソルベースのページネーションの例

以下の例は、: CursorPaginationの使用法を示しています:

{
    "ingestionTime": 1720104883,
    "offset": 2,
    "retrievalSize": 45
}

インフラ監視のためのカーソルページネーション

このページネーションタイプは と呼ばれ、 CursorPaginationInfraExploreCursor と の両方を備えています cursorretrievalSizeCursorPaginationInfraExploreCursor エンドポイントの 「インフラストラクチャ分析 」グループでのみ使用されます。

データ・モデル

Infrastructure Analyze で使用されるカーソルベースのページネーションタイプ CursorPaginationInfraExploreCursor は、以下のデータモデルを持ちます:

{
    "type": "object",
    "properties": {
        "cursor": {
            "$ref": "#/components/schemas/InfraExploreCursor"
        },
        "retrievalSize": {
            "type": "integer",
            "format": "int32",
            "description": "number of values to return"
        }
    }
}

カーソルベースのページネーションのプロパティ InfraExplorerCursor 自体はオブジェクトであり、以下のデータモデルを持つ:

{
    "type": "object",
    "description": "cursor to use between successive queries"
}

属性表

以下の表は、型 CursorPaginationInfraExploreCursor の属性の定義を概説しています:

属性 説明
cursor 連続するクエリ間で使用する開始点へのポインタ。
retrievalSize 取得する値の数。
{
    "type": "object",
    "properties": {
        "cursor": {
            "$ref": "#/components/schemas/InfraExploreCursor"
        },
        "retrievalSize": {
            "type": "integer",
            "format": "int32",
            "description": "number of values to return"
        }
    }
}