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

Use la API de versiones del panel para recuperar las versiones del panel y restaurar un panel a una versión especificada.

nota

Para usar una API de Grafana con su espacio de trabajo de Amazon Managed Grafana, debe tener un token de API de Grafana que sea válido. Lo incluye en el campo Authorization de la solicitud de API. Para obtener información sobre cómo crear un token para autenticar sus llamadas a la API, consulte Autenticación con tokens.

Obtención de todas las versiones del panel

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

Obtiene todas las versiones del panel existentes mediante el dashboardId indicado.

Parámetros de consulta:

  • limit: número máximo de resultados que devolver.

  • start: versión desde la cual empezar cuando se devuelven las 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: correcto.

  • 400: errores.

  • 401: no autorizado.

  • 404: no se encontró la versión del panel.

Obtención de una versión del panel

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

Obtenga una versión del panel con el ID indicado, para el panel con el dashboardId indicado.

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: correcto.

  • 401: no autorizado.

  • 404: no se encontró la versión del panel.

Restauración de un panel

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

Restaura un panel a la versión 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 JSON:

  • version: versión del panel 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 JSON:

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

  • status. si la restauración se ha completado correctamente o no.

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

Códigos de estado:

  • 200: creado.

  • 401: no autorizado.

  • 404: no se encontró el panel o la versión del panel.

  • 500: error interno del servidor (indica un problema al recuperar las etiquetas del panel 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 del cuerpo de la respuesta JSON:

  • message: mensaje que explica el motivo del error.

Comparación de 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 JSON:

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

  • new: objeto que representa la versión nueva del panel.

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

Ejemplo de respuesta (diferencia en JSON)

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, similar a las diferencias que se ven en sitios como GitHub o GitLab.

Códigos de estado:

  • 200: correcto.

  • 200: solicitud incorrecta, se envió un JSON no válido.

  • 401: no autorizado.

  • 404: no 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: correcto.

  • 200: solicitud incorrecta, se envió un JSON no válido.

  • 401: no autorizado.

  • 404: no encontrado.