API de versões do painel - Amazon Managed Grafana

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 do painel

Use a API Dashboard Versions para recuperar versões do painel e restaurar um painel para uma versão especificada.

nota

Para usar uma API Grafana com seu espaço de trabalho Amazon Managed Grafana, você deve ter um token válido da API Grafana. Você inclui isso no Authorization campo na solicitação da API. Para obter informações sobre como criar um token para autenticar suas chamadas de API, consulteAutenticação com tokens.

Obtenha todas as versões do painel

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

Obtém todas as versões existentes do painel com o fornecidodashboardId.

Parâmetros de consulta:

  • limite — Número máximo de resultados a serem retornados.

  • start — Versão a partir 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 painel não encontrada

Obtenha a versão do painel

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

Obtenha a versão do painel com o ID fornecido, para o painel com o determinadodashboardId.

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 painel não encontrada

Restaurar painel

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

Restaura um painel para a versão do painel especificada.

Exemplo de solicitação

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

Esquema corporal JSON:

  • versão — A versão do painel 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 painel.

  • status — Se a restauração foi bem-sucedida ou não.

  • versão — A nova versão do painel após a restauração.

Códigos de status:

  • 200 — Criado

  • 401 — Não autorizado

  • 404 — Painel ou versão do painel não encontrada

  • 500 — Erro interno do servidor (indica problema ao recuperar as tags do painel 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.

Compare as versões do painel

POST /api/dashboards/calculate-diff

Compara duas versões do painel calculando a diferença 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 corporal JSON:

  • base — Um objeto que representa a versão básica do painel.

  • new — Um objeto que representa a nova versão do painel.

  • difftype — O tipo de diferença a ser retornada. Os valores válidos são json e basic.

Exemplo de resposta (diferença 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 painel em JSON, semelhante às diferenças vistas em sites como ou. GitHub GitLab

Códigos de status:

  • 200 — OK

  • 200 — Solicitação incorreta, 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 da diferença entre os dois objetos JSON.

Códigos de status:

  • 200 — OK

  • 200 — Solicitação incorreta, envio de JSON inválido

  • 401 — Não autorizado

  • 404 — Não encontrado