

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

# 注釈 API
<a name="v10-Grafana-API-Annotations"></a>

注釈 API を使用して、Amazon Managed Grafana ワークスペースの注釈を作成、更新、削除、操作します。

注釈は、ワークスペースの Grafana データベース (sqlite、mysql、postgres) に保存されます。注釈は、注釈データソースを設定することにより任意のダッシュボードに表示できる、グローバル注釈にできます。注釈はタグによりフィルタリングされます。または、ダッシュボード上のパネルに紐付けして、そのパネルにのみ表示できます。

**注記**  
Amazon Managed Grafana ワークスペースで Grafana API を使用するには、有効なサービスアカウントトークンが必要です。このトークンは API リクエストの `Authorization` フィールドに含めます。

## 注釈の検索
<a name="v10-Grafana-API-Annotations-Find"></a>

```
GET /api/annotations?from=1506676478816&to=1507281278816&tags=tag1&tags=tag2&limit=100
```

**リクエストの例**

```
GET /api/annotations?from=1506676478816&to=1507281278816&tags=tag1&tags=tag2&limit=100 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

クエリパラメータ:
+ **[開始]** — (オプション) ミリ秒単位のエポック日時。
+ **to** — (オプション) ミリ秒単位のエポック日時。
+ **[制限]** — (オプション) 返される最大結果数。デフォルトは 100 です。
+ **alertid** — (オプション) 指定アラートの注釈を検索します。
+ **dashboardId** — (オプション) 指定ダッシュボードに限定されている注釈を検索します。
+ **panelId** — (オプション) 指定パネルに限定されている注釈を検索します。
+ **userId** — (オプション) 指定ユーザーが作成した注釈を検索します。
+ **[タイプ]** — (オプション) アラートまたはユーザーが作成した注釈を返すために指定します。有効な値は、`alert`、および `annotation` です。
+ **[タグ]** — (オプション) グローバル注釈をフィルタリングするために使用します。グローバル注釈は、ダッシュボードやパネルに明確に接続されていない注釈データソースからの注釈です。複数のタグで「AND」のフィルタリングを実行するには、タグパラメータを複数回指定します。例えば、`tags=tag1&tags=tag2`。これらは Grafana タグであり、 AWS タグではありません。

**レスポンスの例**

```
HTTP/1.1 200
Content-Type: application/json
[
    {
        "id": 1124,
        "alertId": 0,
        "dashboardId": 468,
        "panelId": 2,
        "userId": 1,
        "userName": "",
        "newState": "",
        "prevState": "",
        "time": 1507266395000,
        "timeEnd": 1507266395000,
        "text": "test",
        "metric": "",
        "tags": [
            "tag1",
            "tag2"
        ],
        "data": {}
    },
    {
        "id": 1123,
        "alertId": 0,
        "dashboardId": 468,
        "panelId": 2,
        "userId": 1,
        "userName": "",
        "newState": "",
        "prevState": "",
        "time": 1507265111000,
        "text": "test",
        "metric": "",
        "tags": [
            "tag1",
            "tag2"
        ],
        "data": {}
    }
]
```

## 注釈の作成
<a name="v10-Grafana-API-Annotations-create"></a>

```
POST /api/annotations
```

ワークスペースの Grafana データベースで注釈を作成します。`dashboardId` および `panelId` フィールドはオプションです。これらのフィールドを指定しない場合、グローバル注釈が作成され、Grafana 注釈データソースを追加するダッシュボードでクエリを実行できます。リージョン注釈を作成するときは、必ず `timeEnd` プロパティを含めてください。

`time` と `timeEnd` の形式は、ミリ秒単位のエポック番号にする必要があります。

**リクエストの例**

```
POST /api/annotations HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "dashboardId":468,
  "panelId":1,
  "time":1507037197339,
  "timeEnd":1507180805056,
  "tags":["tag1","tag2"],
  "text":"Annotation Description"
}
```

**レスポンスの例**

```
HTTP/1.1 200
Content-Type: application/json

{
    "message":"Annotation added",
    "id": 1,
}
```

## グラファイト形式の注釈の作成
<a name="v10-Grafana-API-Annotations-create-graphite"></a>

```
POST /api/annotations/graphite
```

Graphite 互換のイベント形式を使用して注釈を作成します。`when` および `data` フィールドはオプションです。`when` を指定しない場合は、現在の時刻が注釈のタイムスタンプとして使用されます。`tags` フィールドは、Graphite 0.10.0 以前の形式 (スペースで区切られた複数のタグを含む文字列) にすることもできます。

**リクエストの例**

```
POST /api/annotations/graphite HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "what": "Event - deploy",
  "tags": ["deploy", "production"],
  "when": 1467844481,
  "data": "deploy of master branch happened at Wed Jul 6 22:34:41 UTC 2016"
}
```

**レスポンスの例**

```
HTTP/1.1 200
Content-Type: application/json

{
    "message":"Graphite annotation added",
    "id": 1
}
```

## 注釈の更新
<a name="v10-Grafana-API-Annotations-update"></a>

```
PUT /api/annotations/:id
```

指定 id と一致する注釈のすべてのプロパティを更新します。特定のプロパティのみを更新するためには、パッチ注釈オペレーションを使用します。

**リクエストの例**

```
PUT /api/annotations/1141 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Content-Type: application/json

{
  "time":1507037197339,
  "timeEnd":1507180805056,
  "text":"Annotation Description",
  "tags":["tag3","tag4","tag5"]
}
```

**レスポンスの例:**

```
HTTP/1.1 200
Content-Type: application/json

{
    "message":"Annotation updated"
}
```

## パッチ注釈
<a name="v10-Grafana-API-Annotations-patch"></a>

```
PATCH /api/annotations/:id
```

指定 id と一致する 1 つ以上の注釈のプロパティを更新します。このオペレーションは現在、`text`、`tags`、`time`、および `timeEnd` プロパティの更新をサポートしています。

**リクエストの例:**

```
PATCH /api/annotations/1145 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Content-Type: application/json
       
{
   "text":"New Annotation Description",
   "tags":["tag6","tag7","tag8"]
}
```

**レスポンスの例**

```
HTTP/1.1 200
Content-Type: application/json

{
    "message":"Annotation patched"
}
```

## Id による注釈の削除
<a name="v10-Grafana-API-Annotations-deteebyId"></a>

```
DELETE /api/annotations/:id
```

指定 Id と一致する注釈を削除します。

**リクエストの例**

```
DELETE /api/annotations/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**レスポンスの例**

```
HTTP/1.1 200
Content-Type: application/json

{
    "message":"Annotation deleted"
}
```