대시보드 버전 API - Amazon Managed Grafana

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

대시보드 버전 API

대시보드 버전 API를 사용하여 대시보드 버전을 검색하고 대시보드를 지정된 버전으로 복원할 수 있습니다.

참고

아마존 관리형 그라파나 워크스페이스에서 Grafana API를 사용하려면 유효한 Grafana API 토큰이 있어야 합니다. API 요청의 필드에 이를 포함시키세요. Authorization API 호출을 인증하기 위한 토큰을 생성하는 방법에 대한 자세한 내용은 을 참조하십시오토큰으로 인증.

모든 대시보드 버전 가져오기

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

지정된 대시보드의 기존 대시보드 버전을 모두 가져옵니다dashboardId.

쿼리 매개변수:

  • limit — 반환할 최대 결과 수입니다.

  • start - 쿼리를 반환할 때 시작할 버전입니다.

요청 예제

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

응답의 예

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

상태 코드:

  • 200 — 좋아요

  • 400 — 오류

  • 401 — 승인되지 않았습니다

  • 404 — 대시보드 버전을 찾을 수 없음

대시보드 버전 가져오기

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

주어진 ID를 가진 대시보드 버전을 가져오세요. 주어진 ID가 있는 대시보드의 버전을 가져오세요dashboardId.

요청 예제

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

응답의 예

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

상태 코드:

  • 200 — 좋아요

  • 401 — 승인되지 않았습니다

  • 404 — 대시보드 버전을 찾을 수 없음

대시보드 복원

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

대시보드를 지정한 대시보드 버전으로 복원합니다.

요청 예제

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

JSON 본문 스키마:

  • 버전 - 복원할 대시보드 버전입니다.

응답의 예

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

JSON 응답 본문 스키마:

  • 슬러그 — 대시보드 제목의 URL 친화적인 슬러그입니다.

  • status — 복원 성공 여부

  • 버전 - 복원 후의 새 대시보드 버전.

상태 코드:

  • 200 — 생성됨

  • 401 — 승인되지 않았습니다

  • 404 — 대시보드 또는 대시보드 버전을 찾을 수 없음

  • 500 — 내부 서버 오류 (데이터베이스에서 대시보드 태그를 검색하는 중 문제가 발생했음을 나타냄)

오류 응답 예시:

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

JSON 응답 본문 스키마:

  • 메시지 - 실패 이유를 설명하는 메시지입니다.

대시보드 버전 비교

POST /api/dashboards/calculate-diff

두 대시보드 버전의 JSON 차이를 계산하여 두 대시보드 버전을 비교합니다.

요청 예제

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

JSON 본문 스키마:

  • base — 기본 대시보드 버전을 나타내는 객체입니다.

  • new — 새 대시보드 버전을 나타내는 객체입니다.

  • difftype — 반환할 diff 유형입니다. 유효 값은 jsonbasic입니다.

예제 응답 (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>

응답은 차이점을 텍스트로 표현한 것으로, 대시보드 값은 JSON으로 표시되며, 또는 같은 사이트에서 볼 수 있는 차이와 유사합니다. GitHub GitLab

상태 코드:

  • 200 — 좋아요

  • 200 — 요청이 잘못되었습니다. 잘못된 JSON이 전송되었습니다.

  • 401 — 승인되지 않았습니다.

  • 404 — 찾을 수 없음

예제 응답 (기본 차이)

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

응답은 두 JSON 객체 간의 차이에서 파생된 변경 사항의 요약입니다.

상태 코드:

  • 200 — 좋아요

  • 200 — 요청이 잘못되었습니다. 잘못된 JSON이 전송되었습니다.

  • 401 — 승인되지 않았습니다.

  • 404 — 찾을 수 없음