As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
API de versões de dashboard
Use a API de versões de dashboard para recuperar versões do dashboard e restaurar um dashboard para uma versão especificada.
nota
Para usar uma API do Grafana com o espaço de trabalho do Amazon Managed Grafana, você deve ter um token válido da API do Grafana. Você inclui isso no campo Authorization
na solicitação da API. Para obter informações sobre como criar um token para autenticar as chamadas de API, consulte Autenticação com tokens.
Obtenha todas as versões do dashboard
GET /api/dashboards/id/:dashboardId/versions
Obtém todas as versões existentes do dashboard para o dashboard com o dashboardId
especificado.
Parâmetros de consulta:
-
limite: o número máximo de resultados a serem retornados.
-
início: versão da qual começar ao retornar consultas.
Exemplo de solicitação
GET /api/dashboards/id/1/versions?limit=2?start=0 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Exemplo de resposta
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 status:
-
200: OK
-
400: erros
-
401: não autorizado
-
404: versão do dashboard não encontrada
Obter versão do dashboard
GET /api/dashboards/id/:dashboardId/versions/:id
Obtenha a versão do dashboard com o ID fornecido, para o dashboard com o dashboardId
especificado.
Exemplo de solicitação
GET /api/dashboards/id/1/versions/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
Exemplo de resposta
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 status:
-
200: OK
-
401: não autorizado
-
404: versão do dashboard não encontrada
Restaurar dashboard
POST /api/dashboards/id/:dashboardId/restore
Restaura um dashboard para a versão do dashboard que você especifica.
Exemplo de solicitação
POST /api/dashboards/id/1/restore Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "version": 1 }
Esquema do corpo JSON:
-
versão: a versão do dashboard para a qual restaurar.
Exemplo de resposta
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 67 { "slug": "my-dashboard", "status": "success", "version": 3 }
Esquema do corpo da resposta JSON:
-
slug: o slug compatível com URL do título do dashboard.
-
status: se a restauração teve êxito ou não.
-
versão: a nova versão do dashboard após a restauração.
Códigos de status:
-
200: criado
-
401: não autorizado
-
404: dashboard ou versão do dashboard não encontrada
-
500: erro interno do servidor (indica um problema ao recuperar as tags do dashboard do banco de dados)
Exemplo de resposta de erro:
HTTP/1.1 404 Not Found Content-Type: application/json; charset=UTF-8 Content-Length: 46 { "message": "Dashboard version not found" }
Esquema do corpo da resposta JSON:
-
mensagem: uma mensagem explicando o motivo da falha.
Comparar versões do dashboard
POST /api/dashboards/calculate-diff
Compara duas versões do dashboard calculando as diferenças de JSON entre elas.
Exemplo de solicitação
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 do corpo JSON:
-
base: um objeto que representa a versão básica do dashboard.
-
novo: um objeto que representa a nova versão do dashboard.
-
difftype: o tipo de diferenças a serem retornadas. Os valores válidos são
json
ebasic
.
Exemplo de resposta (diferença de 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>
A resposta é uma representação textual da diferença, com os valores do dashboard em JSON, semelhante às diferenças vistas em sites como GitHub ou GitLab.
Códigos de status:
-
200: OK
-
200: solicitação inválida, envio de JSON inválido
-
401: não autorizado
-
404: não encontrado
Exemplo de resposta (diferença básica)
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 <div class="diff-group"> <!-- Diff omitted --> </div>
A resposta é um resumo das mudanças, derivadas das diferenças entre os dois objetos JSON.
Códigos de status:
-
200: OK
-
200: solicitação inválida, envio de JSON inválido
-
401: não autorizado
-
404: não encontrado