Instana のページネーション REST API

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

ページネーションの理解

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

ページ単位のページネーション

ページ単位のページネーションでは、通常、パラメータ page (や limit とも呼ばれる offset)と pageSize パラメータを使用して、各 API リクエストで返されるデータのサブセットを制御します。

データ・モデル

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

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

属性表

次の表は、この Pagination 型の属性の定義をまとめたものです:

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

どこで使えるのでしょうか?

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

API のエンドポイントのセットである「 アプリケーションリソース 」では、ページ単位のページネーションも利用可能です。 アプリケーションリソースは Pagination スキーマを使用せず、代わりにリクエストペイロードのスキーマに および pagepageSize 性を含めます。

カーソルによるページネーション

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

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

この 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そして、cursorそしてretrievalSizeCursorPaginationInfraExploreCursor エンドポイントの 「インフラストラクチャ分析 」グループでのみ使用されます。

データ・モデル

カーソルベースのページネーションタイプ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"
        }
    }
}