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
ybasic
.
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.