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 |
返される各ページまたはデータ チャンクのサイズ。 |
ページネーションの例
次の例は、の Pagination使い方です:
{
"page": 2,
"pageSize": 50
}
どこで使えるのでしょうか?
以下のグループの API エンドポイントは、次の Pagination スキーマを使用しています:
API のエンドポイントのセットである「 アプリケーションリソース 」では、ページ単位のページネーションも利用可能です。 アプリケーションリソースは Pagination スキーマを使用せず、代わりにリクエストペイロードのスキーマに および page 属 pageSize 性を含めます。
カーソルによるページネーション
カーソルベースのページネーションでは、カーソルはデータが取得されるデータセット内の位置を指します。 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
}
どこで使えるのでしょうか?
以下のグループの API エンドポイントは、次の CursorPagination スキーマを使用しています:
インフラ監視におけるカーソルによるページネーション
このページ区切りタイプの名前はCursorPaginationInfraExploreCursorそして、cursorそしてretrievalSize。 CursorPaginationInfraExploreCursor エンドポイントの 「インフラストラクチャ分析 」グループでのみ使用されます。
データ・モデル
カーソルベースのページネーションタイプ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"
}
}
}
どこで使えるのでしょうか?
以下のグループの API エンドポイントは、次の CursorPaginationInfraExploreCursor スキーマを使用しています:
API の使用方法やベストプラクティスに関する詳細については、 API のドキュメントを参照してください。