API de versões de dashboard - 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 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 e basic.

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