

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# API d'annotations
<a name="Grafana-API-Annotations"></a>

Utilisez l'API d'annotations pour créer, mettre à jour, supprimer et utiliser des annotations dans l'espace de travail Amazon Managed Grafana. 

Les annotations sont enregistrées dans la base de données Grafana de l'espace de travail (sqlite, mysql ou postgres). Les annotations peuvent être des annotations globales qui peuvent être affichées sur n'importe quel tableau de bord en configurant une source de données d'annotation. Les annotations sont filtrées par balises. Ils peuvent également être liés à un panneau d'un tableau de bord et affichés uniquement sur ce panneau.

**Note**  
Pour utiliser une API Grafana avec votre espace de travail Amazon Managed Grafana, vous devez disposer d'un jeton d'API Grafana valide. Vous l'incluez dans le `Authorization` champ de la demande d'API. Pour plus d'informations sur la création d'un jeton pour authentifier vos appels d'API, consultez[Authentifiez-vous avec des jetons](authenticating-grafana-apis.md).

## Rechercher des annotations
<a name="Grafana-API-Annotations-Find"></a>

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

**Exemple de demande**

```
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
```

Paramètres de requête :
+ **from** — (Facultatif) Epoch date/heure en millisecondes.
+ **to** — (Facultatif) Date et heure de l'époque en millisecondes.
+ **limit** — (Facultatif) Nombre maximum de résultats renvoyés. La valeur par défaut est 100.
+ **alertid** — FInd Annotations (facultatives) pour l'alerte spécifiée.
+ **DashboardID —** (Facultatif) Trouvez les annotations dont le champ d'application est limité au tableau de bord spécifié.
+ **PanelID** — (Facultatif) Trouvez les annotations dont la portée est limitée au panneau spécifié.
+ **UserId** — (Facultatif) Recherche les annotations créées par l'utilisateur spécifié.
+ **type** — (Facultatif) Spécifiez pour renvoyer les alertes ou les annotations créées par l'utilisateur. Les valeurs de valeur sont `alert` et`annotation`. 
+ **tags** — (Facultatif) Utilisez-le pour filtrer les annotations globales. Les annotations globales sont des annotations provenant d'une source de données d'annotation qui ne sont pas connectées spécifiquement à un tableau de bord ou à un panneau. Pour effectuer un filtrage « ET » avec plusieurs balises, spécifiez le paramètre des balises plusieurs fois. Par exemple, `tags=tag1&tags=tag2`. Ce sont des tags Grafana, pas AWS des tags. 

**Exemple de réponse**

```
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": {}
    }
]
```

## Création d'une annotation
<a name="Grafana-API-Annotations-create"></a>

```
POST /api/annotations
```

Crée une annotation dans la base de données Grafana de l'espace de travail. Les champs `dashboardId` et `panelId` sont facultatifs. Si elles ne sont pas spécifiées, une annotation globale est créée et peut être interrogée dans n'importe quel tableau de bord qui ajoute la source de données des annotations Grafana. Lorsque vous créez une annotation de région, veillez à inclure la `timeEnd` propriété.

Le format pour `time` et `timeEnd` doit être celui des numéros d'époque en résolution en millisecondes.

**Exemple de demande**

```
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"
}
```

**Exemple de réponse**

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

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

## Création d'annotations au format graphite
<a name="Grafana-API-Annotations-create-graphite"></a>

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

Crée une annotation en utilisant un format d'événement compatible avec Graphite. Les champs `when` et `data` sont facultatifs. Si elle n'`when`est pas spécifiée, l'heure actuelle est utilisée comme horodatage de l'annotation. Le `tags` champ peut également être au format Graphite 0.10.0 (chaîne avec plusieurs balises séparées par un espace). 

**Exemple de demande**

```
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"
}
```

**Exemple de réponse**

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

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

## Mettre à jour l'annotation
<a name="Grafana-API-Annotations-update"></a>

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

met à jour toutes les propriétés d'une annotation correspondant à l'identifiant spécifié. Pour mettre à jour certaines propriétés uniquement, utilisez l'opération Patch Annotation.

**Exemple de demande**

```
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"]
}
```

**Exemple de réponse :**

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

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

## Annotation des correctifs
<a name="Grafana-API-Annotations-patch"></a>

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

Met à jour une ou plusieurs propriétés d'une annotation correspondant à l'identifiant spécifié. Cette opération prend actuellement en charge la mise à jour des `timeEnd` propriétés `text` `tags``time`,, et.

**Exemple de demande :**

```
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"]
}
```

**Exemple de réponse**

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

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

## Supprimer une annotation par identifiant
<a name="Grafana-API-Annotations-deteebyId"></a>

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

Supprime l'annotation correspondant à l'ID spécifié.

**Exemple de demande**

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

**Exemple de réponse**

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

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