API des versions du tableau de bord - Amazon Managed Grafana

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

API des versions du tableau de bord

Utilisez l'API Dashboard Versions pour récupérer les versions du tableau de bord et restaurer une version spécifiée d'un tableau de bord.

Note

Pour utiliser une API Grafana avec votre espace de travail Amazon Managed Grafana, vous devez disposer d'un jeton d'API Grafana valide. Vous l'incluez dans le Authorization champ de la demande d'API. Pour plus d'informations sur la création d'un jeton pour authentifier vos appels d'API, consultezAuthentifiez-vous avec des jetons.

Accédez à toutes les versions du tableau de bord

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

Obtient toutes les versions de tableau de bord existantes pour le tableau de bord avec le paramètre donnédashboardId.

Paramètres de requête :

  • limit — Nombre maximum de résultats à renvoyer.

  • start — Version à partir de laquelle démarrer lors du renvoi de requêtes.

Exemple de demande

GET /api/dashboards/id/1/versions?limit=2?start=0 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Exemple de réponse

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

Codes de statut :

  • 200 — OK

  • 400 — Erreurs

  • 401 — Non autorisé

  • 404 — Version du tableau de bord introuvable

Obtenir la version du tableau de bord

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

Obtenez la version du tableau de bord avec l'identifiant donné, pour le tableau de bord avec l'identifiant donnédashboardId.

Exemple de demande

GET /api/dashboards/id/1/versions/1 HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Exemple de réponse

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

Codes de statut :

  • 200 — OK

  • 401 — Non autorisé

  • 404 — Version du tableau de bord introuvable

Restauration du tableau de bord

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

Restaure un tableau de bord à la version de tableau de bord que vous spécifiez.

Exemple de demande

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

Schéma de corps JSON :

  • version : version du tableau de bord vers laquelle effectuer la restauration.

Exemple de réponse

HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Content-Length: 67 { "slug": "my-dashboard", "status": "success", "version": 3 }

Schéma du corps de réponse JSON :

  • slug — Le slug convivial pour les URL du titre du tableau de bord.

  • statut : si la restauration a réussi ou non.

  • version — La nouvelle version du tableau de bord suite à la restauration.

Codes de statut :

  • 200 — Créé

  • 401 — Non autorisé

  • 404 — Tableau de bord ou version du tableau de bord introuvable

  • 500 — Erreur interne du serveur (indique un problème lors de la récupération des balises du tableau de bord depuis la base de données)

Exemple de réponse d'erreur :

HTTP/1.1 404 Not Found Content-Type: application/json; charset=UTF-8 Content-Length: 46 { "message": "Dashboard version not found" }

Schéma du corps de réponse JSON :

  • message — Un message expliquant la raison de l'échec.

Comparez les versions du tableau de bord

POST /api/dashboards/calculate-diff

Compare deux versions de tableau de bord en calculant leur différence JSON.

Exemple de demande

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

Schéma de corps JSON :

  • base — Objet représentant la version de base du tableau de bord.

  • new — Objet représentant la nouvelle version du tableau de bord.

  • difftype — Type de différence à renvoyer. Les valeurs valides sont json et basic.

Exemple de réponse (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>

La réponse est une représentation textuelle de la différence, les valeurs du tableau de bord étant en JSON, similaires aux différences observées sur des sites tels que ou. GitHub GitLab

Codes de statut :

  • 200 — OK

  • 200 — Demande incorrecte, JSON non valide envoyé

  • 401 — Non autorisé

  • 404 — Non trouvé

Exemple de réponse (Basic diff)

HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 <div class="diff-group"> <!-- Diff omitted --> </div>

La réponse est un résumé des modifications, dérivé de la différence entre les deux objets JSON.

Codes de statut :

  • 200 — OK

  • 200 — Demande incorrecte, JSON non valide envoyé

  • 401 — Non autorisé

  • 404 — Non trouvé