

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# API per le annotazioni
<a name="v10-Grafana-API-Annotations"></a>

Usa l'API Annotations per creare, aggiornare, eliminare e lavorare con le annotazioni nell'area di lavoro Amazon Managed Grafana. 

Le annotazioni vengono salvate nel database Grafana dell'area di lavoro (sqlite, mysql o postgres). Le annotazioni possono essere annotazioni globali che possono essere visualizzate su qualsiasi dashboard configurando una fonte di dati di annotazione. Le annotazioni vengono filtrate per tag. Oppure possono essere collegate a un pannello su una dashboard e visualizzate solo su quel pannello.

**Nota**  
Per utilizzare un'API Grafana con il tuo spazio di lavoro Amazon Managed Grafana, devi disporre di un token di account di servizio valido. Lo includi nel `Authorization` campo della richiesta API.

## Trova annotazioni
<a name="v10-Grafana-API-Annotations-Find"></a>

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

**Richiesta di esempio**

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

Parametri di interrogazione:
+ **da** — (Facoltativo) Data/ora dell'epoca in millisecondi.
+ **a** — (Facoltativo) Data/ora dell'epoca in millisecondi.
+ **limit** — (Facoltativo) Numero massimo di risultati restituiti. Il valore di default è 100.
+ **alertid** — (Facoltativo) Trova le annotazioni per l'avviso specificato.
+ **dashboardID** — (Facoltativo) Trova le annotazioni che rientrano nell'ambito del dashboard specificato.
+ **panelID** — (Facoltativo) Trova le annotazioni che rientrano nell'ambito del pannello specificato.
+ **userID** — (Facoltativo) Trova le annotazioni create dall'utente specificato.
+ **type** — (Facoltativo) Specificare se restituire avvisi o annotazioni create dall'utente. I valori dei valori sono e. `alert` `annotation` 
+ **tags** — (Facoltativo) Utilizzatelo per filtrare le annotazioni globali. Le annotazioni globali sono annotazioni provenienti da una fonte di dati di annotazione che non sono collegate specificamente a una dashboard o un pannello. Per eseguire un filtro «AND» con più tag, specifica più volte il parametro tags. Ad esempio, `tags=tag1&tags=tag2`. Questi sono tag Grafana, non AWS tag. 

**Esempio di risposta**

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

## Crea annotazioni
<a name="v10-Grafana-API-Annotations-create"></a>

```
POST /api/annotations
```

Crea un'annotazione nel database Grafana dell'area di lavoro. I campi `dashboardId` e `panelId` sono facoltativi. Se non vengono specificati, viene creata un'annotazione globale che può essere interrogata in qualsiasi dashboard che aggiunga l'origine dati delle annotazioni Grafana. Quando crei un'annotazione regionale, assicurati di includere la proprietà. `timeEnd`

Il formato `time` e `timeEnd` deve essere costituito da numeri di epoca con risoluzione in millisecondi.

**Richiesta di esempio**

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

**Esempio di risposta**

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

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

## Crea annotazioni in formato grafite
<a name="v10-Grafana-API-Annotations-create-graphite"></a>

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

Crea un'annotazione utilizzando un Graphite-compatible formato di evento. I campi `when` e `data` sono facoltativi. Se non `when` è specificato, l'ora corrente viene utilizzata come timestamp dell'annotazione. Il `tags` campo può anche essere in formato precedente a Graphite 0.10.0 (stringa con più tag separati da uno spazio). 

**Richiesta di esempio**

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

**Esempio di risposta**

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

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

## Aggiorna l'annotazione
<a name="v10-Grafana-API-Annotations-update"></a>

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

Aggiorna tutte le proprietà di un'annotazione che corrisponde all'id specificato. Per aggiornare solo determinate proprietà, utilizzate l'operazione Patch Annotation.

**Richiesta di esempio**

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

**Esempio di risposta:**

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

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

## Annotazione della patch
<a name="v10-Grafana-API-Annotations-patch"></a>

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

Aggiorna una o più proprietà di un'annotazione che corrisponde all'id specificato. Questa operazione attualmente supporta l'aggiornamento delle `timeEnd` proprietà `text``tags`,`time`, e.

**Richiesta di esempio:**

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

**Esempio di risposta**

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

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

## Elimina l'annotazione per ID
<a name="v10-Grafana-API-Annotations-deteebyId"></a>

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

Elimina l'annotazione che corrisponde all'ID specificato.

**Richiesta di esempio**

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

**Esempio di risposta**

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

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