API de versiones del panel - Amazon Managed Grafana

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

API de versiones del panel

Usa la API de versiones del panel para recuperar las versiones del panel y restaurar un panel a una versión específica.

nota

Para usar una API de Grafana con tu espacio de trabajo de Grafana gestionado por Amazon, debes tener un token de API de Grafana válido. Lo incluyes en el Authorization campo de la solicitud de API. Para obtener información sobre cómo crear un token para autenticar tus llamadas a la API, consultaAutenticarse con fichas.

Obtenga todas las versiones del panel

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

Obtiene todas las versiones del tablero existentes para el tablero con lo indicadodashboardId.

Parámetros de consulta:

  • límite: número máximo de resultados que se van a devolver.

  • start: versión desde la que empezar cuando se devuelven consultas.

Ejemplo de solicitud

GET /api/dashboards/id/1/versions?limit=2?start=0 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Ejemplo de respuesta

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

Códigos de estado:

  • 200 — OK

  • 400 — Errores

  • 401 — No autorizado

  • 404 — No se encontró la versión del panel de control

Obtenga la versión del panel de control

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

Obtenga la versión del panel de control con el identificador indicado, para el cuadro de mando con el identificador indicadodashboardId.

Ejemplo de solicitud

GET /api/dashboards/id/1/versions/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Ejemplo de respuesta

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

Códigos de estado:

  • 200 — OK

  • 401 — No autorizado

  • 404 — No se encontró la versión del panel de control

Restaurar el panel

POST /api/dashboards/id/:dashboardId/restore

Restaura un panel de control a la versión de panel que especifique.

Ejemplo de solicitud

POST /api/dashboards/id/1/restore Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "version": 1 }

Esquema de cuerpo de JSON:

  • versión: la versión del panel de control a la que se va a restaurar.

Ejemplo de respuesta

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 67 { "slug": "my-dashboard", "status": "success", "version": 3 }

Esquema del cuerpo de la respuesta en JSON:

  • slug: el slug del título del panel, apto para URL.

  • estado: si la restauración se ha realizado correctamente o no.

  • versión: la nueva versión del panel de control tras la restauración.

Códigos de estado:

  • 200 — Creado

  • 401 — No autorizado

  • 404 — No se encontró el panel de control o la versión del panel

  • 500: error interno del servidor (indica un problema al recuperar las etiquetas del panel de control de la base de datos)

Ejemplo de respuesta de error:

HTTP/1.1 404 Not Found Content-Type: application/json; charset=UTF-8 Content-Length: 46 { "message": "Dashboard version not found" }

Esquema de cuerpo de respuesta de JSON:

  • mensaje: mensaje que explica el motivo del error.

Compare las versiones del panel

POST /api/dashboards/calculate-diff

Compara dos versiones del panel calculando su diferencia en JSON.

Ejemplo de solicitud

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

Esquema de cuerpo de JSON:

  • base: un objeto que representa la versión base del panel de control.

  • nuevo: un objeto que representa la nueva versión del panel de mandos.

  • difftype: el tipo de diferencia que se va a devolver. Los valores válidos son json y basic.

Ejemplo de respuesta (JSON diff)

HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 <p id="l1" class="diff-line diff-json-same"> <!-- Diff omitted --> </p>

La respuesta es una representación textual de la diferencia, con los valores del panel en JSON, de forma similar a las diferencias que se ven en sitios como GitHub o. GitLab

Códigos de estado:

  • 200 — OK

  • 200 — Solicitud incorrecta, se envió un JSON no válido

  • 401 — No autorizado

  • 404 — No se ha encontrado

Ejemplo de respuesta (diferencia básica)

HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 <div class="diff-group"> <!-- Diff omitted --> </div>

La respuesta es un resumen de los cambios, derivado de la diferencia entre los dos objetos JSON.

Códigos de estado:

  • 200 — OK

  • 200 — Solicitud incorrecta, se envió un JSON no válido

  • 401 — No autorizado

  • 404 — No se ha encontrado