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 de versões do painel 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 uma chave de API Grafana válida. Você inclui essa chave noAuthorization campo da solicitação da API. Para obter informações sobre como criar uma chave de API do Grafana, consulteUsando APIs HTTP do Grafana.

Obtenha todas as versões do painel

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

Obtém todas as versões de painel existentes para o 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" } ]

HTTP Status Codes

  • 200 — OK

  • 400 — Erros

  • 401 — Não autorizado

  • 404 — Versão do painel não encontrada

Obter 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 fornecidodashboardId.

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

HTTP Status Codes

  • 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 que você especificar.

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

HTTP Status Codes

  • 200 — Criado

  • 401 — Não autorizado

  • 404 — Versão do painel ou 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 de resposta JSON:

  • mensagem — Uma mensagem explicando o motivo da falha.

Comparar versões do painel

POST /api/dashboards/calculate-diff

Compara duas versões do painel calculando a diferença JSON delas.

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.

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

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

Exemplo de resposta (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>

A resposta é uma representação textual do diff, com os valores do painel em JSON, semelhantes às diferenças vistas em sites como GitHub ou GitLab.

HTTP Status Codes

  • 200 — OK

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

  • 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, derivado da diferença entre os dois objetos JSON.

HTTP Status Codes

  • 200 — OK

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

  • 401 — Não autorizado

  • 404 — Não encontrado