ダッシュボードバージョン API - Amazon Managed Grafana

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ダッシュボードバージョン API

Dashboard Versions API を使用して、ダッシュボードのバージョンを取得し、指定したバージョンにダッシュボードを復元します。

注記

Amazon Managed Grafana ワークスペースで Grafana API を使用するには、有効な Grafana API トークンが必要です。これは API リクエストの Authorizationフィールドに含めます。API コールを認証するトークンを作成する方法については、「」を参照してくださいトークンによる認証

すべてのダッシュボードバージョンを取得する

GET /api/dashboards/id/:dashboardId/versions

指定された を使用して、ダッシュボードのすべての既存のダッシュボードバージョンを取得しますdashboardId

クエリパラメータ:

  • limit — 返される結果の最大数。

  • start — クエリを返すときに開始するバージョン。

リクエストの例

GET /api/dashboards/id/1/versions?limit=2?start=0 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

レスポンスの例

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 428 [ { "id": 2, "dashboardId": 1, "parentVersion": 1, "restoredFrom": 0, "version": 2, "created": "2017-06-08T17:24:33-04:00", "createdBy": "admin", "message": "Updated panel title" }, { "id": 1, "dashboardId": 1, "parentVersion": 0, "restoredFrom": 0, "version": 1, "created": "2017-06-08T17:23:33-04:00", "createdBy": "admin", "message": "Initial save" } ]

ステータスコード:

  • 200 - OK

  • 400 - エラー

  • 401 - 未承認

  • 404 - ダッシュボードバージョンが見つかりません

ダッシュボードのバージョンを取得する

GET /api/dashboards/id/:dashboardId/versions/:id

特定の を持つダッシュボードの、特定の ID を持つダッシュボードバージョンを取得しますdashboardId

リクエストの例

GET /api/dashboards/id/1/versions/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

レスポンスの例

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 1300 { "id": 1, "dashboardId": 1, "parentVersion": 0, "restoredFrom": 0, "version": 1, "created": "2017-04-26T17:18:38-04:00", "message": "Initial save", "data": { "annotations": { "list": [ ] }, "editable": true, "gnetId": null, "graphTooltip": 0, "hideControls": false, "id": 1, "links": [ ], "rows": [ { "collapse": false, "height": "250px", "panels": [ ], "repeat": null, "repeatIteration": null, "repeatRowId": null, "showTitle": false, "title": "Dashboard Row", "titleSize": "h6" } ], "schemaVersion": 14, "style": "dark", "tags": [ ], "templating": { "list": [ ] }, "time": { "from": "now-6h", "to": "now" }, "timepicker": { "refresh_intervals": [ "5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d" ], "time_options": [ "5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d" ] }, "timezone": "browser", "title": "test", "version": 1 }, "createdBy": "admin" }

ステータスコード:

  • 200 - OK

  • 401 - 未承認

  • 404 - ダッシュボードバージョンが見つかりません

ダッシュボードの復元

POST /api/dashboards/id/:dashboardId/restore

ダッシュボードを指定したダッシュボードバージョンに復元します。

リクエストの例

POST /api/dashboards/id/1/restore Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "version": 1 }

JSON 本文スキーマ:

  • version — 復元先のダッシュボードのバージョン。

レスポンスの例

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 67 { "slug": "my-dashboard", "status": "success", "version": 3 }

JSON レスポンス本文スキーマ:

  • slug — ダッシュボードのタイトルの URL にわかりやすいスラグ。

  • status — 復元が成功したかどうか。

  • version — 復元後の新しいダッシュボードバージョン。

ステータスコード:

  • 200 - 作成済み

  • 401 - 未承認

  • 404 - ダッシュボードまたはダッシュボードのバージョンが見つかりません

  • 500 - 内部サーバーエラー (データベースからダッシュボードタグを取得する際の問題を示します)

エラーレスポンスの例:

HTTP/1.1 404 Not Found Content-Type: application/json; charset=UTF-8 Content-Length: 46 { "message": "Dashboard version not found" }

JSON レスポンス本文スキーマ:

  • message — 失敗の理由を説明するメッセージ。

ダッシュボードのバージョンを比較する

POST /api/dashboards/calculate-diff

JSON 差分を計算することで、2 つのダッシュボードバージョンを比較します。

リクエストの例

POST /api/dashboards/calculate-diff HTTP/1.1 Accept: text/html Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "base": { "dashboardId": 1, "version": 1 }, "new": { "dashboardId": 1, "version": 2 }, "diffType": "json" }

JSON 本文スキーマ:

  • base — ベースダッシュボードのバージョンを表すオブジェクト。

  • new — 新しいダッシュボードバージョンを表すオブジェクト。

  • difftype — 返される diff のタイプ。有効な値は、json および basic です。

レスポンスの例 (JSON 差分)

HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 <p id="l1" class="diff-line diff-json-same"> <!-- Diff omitted --> </p>

レスポンスは diff のテキスト表現で、ダッシュボードの値は JSON で、 GitHub や などのサイトで見られる差分に似ています GitLab。

ステータスコード:

  • 200 - OK

  • 200 - 不正なリクエスト、無効な JSON が送信されました

  • 401 - 未承認

  • 404 - 見つかりません

レスポンスの例 (基本的な差分)

HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 <div class="diff-group"> <!-- Diff omitted --> </div>

レスポンスは、2 つの JSON オブジェクト間の差から派生した変更の概要です。

ステータスコード:

  • 200 - OK

  • 200 - 不正なリクエスト、無効な JSON が送信されました

  • 401 - 未承認

  • 404 - 見つかりません