

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 del pannello di controllo
<a name="Grafana-API-Dashboard"></a>

Usa l'API Dashboard per creare, aggiornare, eliminare e lavorare con i dashboard nell'area di lavoro di Amazon Managed Grafana. 

L'identificatore (id) di una dashboard è un valore numerico ad incremento automatico ed è unico solo per area di lavoro. L'identificatore univoco (uid) di una dashboard può essere utilizzato per identificare in modo univoco una dashboard tra più aree di lavoro Amazon Managed Grafana. Viene generato automaticamente se non ne fornisci uno quando crei una dashboard. L'uid consente di avere un accesso coerente URLs alle dashboard e alla sincronizzazione delle dashboard tra più aree di lavoro. L'uso dell'uid significa che la modifica del titolo di una dashboard non interrompe i collegamenti aggiunti ai segnalibri a quella dashboard.

L'uid può avere una lunghezza massima di 40 caratteri.

**Nota**  
Per utilizzare un'API Grafana con il tuo spazio di lavoro Amazon Managed Grafana, devi disporre di un token API Grafana valido. Lo includi nel `Authorization` campo della richiesta API. Per informazioni su come creare un token per autenticare le chiamate API, consulta[Autenticazione con token](authenticating-grafana-apis.md).

## Crea/aggiorna il pannello di controllo
<a name="Grafana-API-Dashboard-createupdate"></a>

```
POST /api/dashboards/db
```

Crea una nuova dashboard o aggiorna una dashboard esistente.

**Esempio di richiesta per creare una nuova dashboard**

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

{
  "dashboard": {
    "id": null,
    "uid": null,
    "title": "Production Overview",
    "tags": [ "templated" ],
    "timezone": "browser",
    "schemaVersion": 16,
    "version": 0,
    "refresh": "25s"
  },
  "folderId": 0,
  "folderUid": "l3KqBxCMz",
  "message": "Made changes to xyz",
  "overwrite": false
}
```

Schema del corpo JSON:
+ **dashboard**: il modello di dashboard completo. Usa null per creare una nuova dashboard.
+ **dashboard.id**: utilizza null per creare una nuova dashboard.
+ **dashboard.uid** — Identificatore univoco opzionale quando lo usi per creare una nuova dashboard. Se null, viene generato un nuovo uid. 
+ **folderid** — L'id della cartella in cui salvare la dashboard.
+ **folderUID** — L'Uid della cartella in cui salvare la dashboard. Sostituisce il valore di `folderid`
+ **sovrascrivi**: specifica `true` di sovrascrivere una dashboard esistente con una versione più recente, lo stesso titolo della dashboard nella cartella o lo stesso uid della dashboard.
+ **messaggio**: imposta un messaggio di commit per la cronologia delle versioni.
+ **refresh**: imposta l'intervallo di aggiornamento della dashboard. Se è inferiore all'intervallo di aggiornamento minimo, viene ignorato e viene utilizzato l'intervallo di aggiornamento minimo. 

Per aggiungere o aggiornare una regola di avviso per un pannello del dashboard, dichiara un blocco. `dashboard.panels.alert`

**Esempio di richiesta di aggiornamento di una regola di avviso del dashboard**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
 "dashboard":  {
        "id": 104,
        "panels": [
            {
                "alert": {
                    "alertRuleTags": {},
                    "conditions": [
                        {
                            "evaluator": {
                                "params": [
                                    25
                                ],
                                "type": "gt"
                            },
                            "operator": {
                                "type": "and"
                            },
                            "query": {
                                "params": [
                                    "A",
                                    "5m",
                                    "now"
                                ]
                            },
                            "reducer": {
                                "params": [],
                                "type": "avg"
                            },
                            "type": "query"
                        }
                    ],
                    "executionErrorState": "alerting",
                    "for": "5m",
                    "frequency": "1m",
                    "handler": 1,
                    "name": "Panel Title alert",
                    "noDataState": "no_data",
                    "notifications": []
                },
                "aliasColors": {},
                "bars": false,
                "dashLength": 10,
                "dashes": false,
                "datasource": null,
                "fieldConfig": {
                    "defaults": {
                        "custom": {}
                    },
                    "overrides": []
                },
                "fill": 1,
                "fillGradient": 0,
                "gridPos": {
                    "h": 9,
                    "w": 12,
                    "x": 0,
                    "y": 0
                },
                "hiddenSeries": false,
                "id": 2,
                "legend": {
                    "avg": false,
                    "current": false,
                    "max": false,
                    "min": false,
                    "show": true,
                    "total": false,
                    "values": false
                },
                "lines": true,
                "linewidth": 1,
                "nullPointMode": "null",
                "options": {
                    "dataLinks": []
                },
                "percentage": false,
                "pointradius": 2,
                "points": false,
                "renderer": "flot",
                "seriesOverrides": [],
                "spaceLength": 10,
                "stack": false,
                "steppedLine": false,
                "targets": [
                    {
                        "refId": "A",
                        "scenarioId": "random_walk"
                    }
                ],
                "thresholds": [
                    {
                        "colorMode": "critical",
                        "fill": true,
                        "line": true,
                        "op": "gt",
                        "value": 50
                    }
                ],
                "timeFrom": null,
                "timeRegions": [],
                "timeShift": null,
                "title": "Panel Title",
                "tooltip": {
                    "shared": true,
                    "sort": 0,
                    "value_type": "individual"
                },
                "type": "graph",
                "xaxis": {
                    "buckets": null,
                    "mode": "time",
                    "name": null,
                    "show": true,
                    "values": []
                },
                "yaxes": [
                    {
                        "format": "short",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    },
                    {
                        "format": "short",
                        "label": null,
                        "logBase": 1,
                        "max": null,
                        "min": null,
                        "show": true
                    }
                ],
                "yaxis": {
                    "align": false,
                    "alignLevel": null
                }
            }
        ],
        "title": "Update alert rule via API",
        "uid": "dHEquNzGz",
        "version": 1
    }
}
```

**Esempio di risposta**

```
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Content-Length: 78

{
  "id":      1,
  "uid":     "cIBgcSjkk",
  "url":     "/d/cIBgcSjkk/production-overview",
  "status":  "success",
  "version": 1,
  "slug":    "production-overview" //deprecated in Grafana v5.0
}
```

Codici di stato:
+ **200** — Creato
+ **400** — Errore come JSON non valido, campi non validi o mancanti
+ **401 — Non autorizzato**
+ **403 — Accesso** negato
+ **412 — Precondizione** non riuscita

Il codice di stato **412** viene utilizzato per spiegare perché la dashboard non può essere creata.
+  La dashboard è stata modificata da qualcun altro `status=version-mismatch` 
+  Esiste già una dashboard con lo stesso nome nella cartella `status=name-exists` 
+  Esiste già una dashboard con lo stesso uid `status=name-exists` 
+ La dashboard appartiene al plugin `plugin title` `status=plugin-dashboard`

Il corpo della risposta ha le seguenti proprietà. Se un'altra dashboard ha lo stesso titolo, il `status` valore è`name-exists`.

```
HTTP/1.1 412 Precondition Failed
Content-Type: application/json; charset=UTF-8
Content-Length: 97

{
  "message": "The dashboard has been changed by someone else",
  "status": "version-mismatch"
}
```

## Ottieni la dashboard tramite uid
<a name="Grafana-API-Dashboard-get"></a>

```
GET /api/dashboards/uid/:uid
```

Restituisce la dashboard corrispondente all'uid. I metadati restituiti potrebbero contenere informazioni sull'UID della cartella che contiene il dashboard.

**Richiesta di esempio**

```
GET /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Esempio di risposta**

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

{
  "dashboard": {
    "id": 1,
    "uid": "cIBgcSjkk",
    "title": "Production Overview",
    "tags": [ "templated" ],
    "timezone": "browser",
    "schemaVersion": 16,
    "version": 0
  },
  "meta": {
    "isStarred": false,
    "url": "/d/cIBgcSjkk/production-overview",
    "folderId": 2,
    "folderUid": "l3KqBxCMz",
    "slug": "production-overview" //deprecated in Grafana v5.0
  }
}
```

Codici di stato:
+ **200** — Trovato
+ **401** — Non autorizzato
+ **403 — Accesso** negato
+ **404** — Non trovato

## Elimina dashboard tramite uid
<a name="Grafana-API-Dashboard-delete"></a>

```
DELETE /api/dashboards/uid/:uid
```

Elimina la dashboard corrispondente all'uid.

**Richiesta di esempio**

```
DELETE /api/dashboards/uid/cIBgcSjkk HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Esempio di risposta**

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

{
  "title": "Production Overview",
  "message": "Dashboard Production Overview deleted",
  "id": 2
}
```

Codici di stato:
+ **200** — Eliminato
+ **401** — Non autorizzato
+ **403 — Accesso** negato
+ **404** — Non trovato

## Ottiene la dashboard principale
<a name="Grafana-API-Dashboard-home"></a>

```
GET /api/dashboards/home
```

Restituisce la dashboard principale.

**Richiesta di esempio**

```
GET /api/dashboards/home HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Esempio di risposta**

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

{
  "dashboard": {
    "editable":false,
    "hideControls":true,
    "nav":[
      {
        "enable":false,
        "type":"timepicker"
      }
    ],
    "style":"dark",
    "tags":[],
    "templating":{
      "list":[
      ]
    },
    "time":{
    },
    "timezone":"browser",
    "title":"Home",
    "version":5
  },
  "meta":	{
    "isHome":true,
    "canSave":false,
    "canEdit":false,
    "canStar":false,
    "url":"",
    "expires":"0001-01-01T00:00:00Z",
    "created":"0001-01-01T00:00:00Z"
  }
}
```

## Ottieni i tag della dashboard
<a name="Grafana-API-Dashboard-tags"></a>

```
GET /api/dashboards/tags
```

Restituisce tutti i tag delle dashboard.

**Richiesta di esempio**

```
GET /api/dashboards/tags HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**Esempio di risposta**

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

[
  {
    "term":"tag1",
    "count":1
  },
  {
    "term":"tag2",
    "count":4
  }
]
```