

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

# ダッシュボードバージョン API
<a name="Grafana-API-DashboardVersions"></a>

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

**注記**  
Amazon Managed Grafana ワークスペースで Grafana API を使用するには、有効な Grafana API トークンが必要です。このトークンは API リクエストの `Authorization` フィールドに含めます。API コールを認証するトークンの作成方法については、「[トークンを使用した認証](authenticating-grafana-apis.md)」を参照してください。

## すべてのダッシュボードバージョンの取得
<a name="Grafana-API-DashboardVersions-getall"></a>

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

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

クエリパラメータ:
+ **[制限]** — 返される結果の最大数。
+ **[開始]** — クエリを返すときから開始するバージョン。

**リクエストの例**

```
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** — ダッシュボードバージョン未検出

## ダッシュボードバージョンの取得
<a name="Grafana-API-DashboardVersions-get"></a>

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

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

**リクエストの例**

```
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** — ダッシュボードバージョン未検出

## ダッシュボードの復元
<a name="Grafana-API-DashboardVersions-restore"></a>

```
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** — 障害の理由を説明するメッセージ。

## ダッシュボードバージョンの比較
<a name="Grafana-API-DashboardVersions-compare"></a>

```
POST /api/dashboards/calculate-diff
```

2 つのダッシュボードバージョンは、それらの JSON 差分を計算して比較します。

**リクエストの例**

```
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** — 基本ダッシュボードバージョンを表すオブジェクト。
+ **[新規]** — 新しいダッシュボードバージョンを表すオブジェクト。
+ **difftype** — 返される差分のタイプ。有効な値は、`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>
```

レスポンスは差分のテキスト表現で、GitHub や GitLab などのサイトで見られる差分と同様に、JSON で記述したダッシュボード値です。

ステータスコード:
+ **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** — 未検出