快照 API - Amazon Managed Grafana

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

快照 API

使用快照 API 在亚马逊托管 Grafana 工作空间中处理快照。

注意

要在亚马逊托管 Grafana 工作空间中使用 Grafana API,您必须拥有有效的 Grafana API 令牌。您可以将其包含在 API 请求的Authorization字段中。有关如何创建令牌来验证您的 API 调用的信息,请参阅使用令牌进行身份验证

创建新的快照

POST /api/snapshots

示例请求

POST /api/snapshots HTTP/1.1 Accept: application/json Content-Type: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk { "dashboard": { "editable":false, "hideControls":true, "nav":[ { "enable":false, "type":"timepicker" } ], "rows": [ { } ], "style":"dark", "tags":[], "templating":{ "list":[ ] }, "time":{ }, "timezone":"browser", "title":"Home", "version":5 }, "expires": 3600 }

JSON 正文架构:

  • 仪表板-(必填)完整的仪表板模型。

  • name-(可选)快照的名称。

  • e@@ x pires —(可选)快照的过期时间,以秒为单位。默认设置为永不过期。

  • external —(可选)将快照保存在外部服务器而不是本地。默认设置为“假”。

  • key —(如果external是,则为必填项true)定义唯一密钥。

  • deletekey —(如果external是,则为必填项true)用于删除快照的唯一密钥。与之不同的是key,只有创建者才能删除快照。

注意

使用 API 创建快照时,您必须提供包括快照数据在内的完整仪表板有效负载。此端点专为 Grafana 用户界面而设计。

响应示例

HTTP/1.1 200 Content-Type: application/json { "deleteKey":"XXXXXXX", "deleteUrl":"myurl/api/snapshots-delete/XXXXXXX", "key":"YYYYYYY", "url":"myurl/dashboard/snapshot/YYYYYYY", "id": 1, }

钥匙:

  • del eteKey — 生成的用于删除快照的密钥。

  • key — 为共享仪表板而生成的密钥。

获取快照列表

GET /api/dashboard/snapshots

查询参数:

  • 查询-搜索查询

  • 限制-限制返回结果的数量

示例请求

GET /api/dashboard/snapshots HTTP/1.1 Accept: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

响应示例

HTTP/1.1 200 Content-Type: application/json [ { "id":8, "name":"Home", "key":"YYYYYYY", "orgId":1, "userId":1, "external":false, "externalUrl":"", "expires":"2200-13-32T25:23:23+02:00", "created":"2200-13-32T28:24:23+02:00", "updated":"2200-13-32T28:24:23+02:00" } ]

按密钥获取快照

GET /api/snapshots/:key

示例请求

GET /api/snapshots/YYYYYYY HTTP/1.1 Accept: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

响应示例

HTTP/1.1 200 Content-Type: application/json { "meta":{ "isSnapshot":true, "type":"snapshot", "canSave":false, "canEdit":false, "canStar":false, "slug":"", "expires":"2200-13-32T25:23:23+02:00", "created":"2200-13-32T28:24:23+02:00" }, "dashboard": { "editable":false, "hideControls":true, "nav": [ { "enable":false, "type":"timepicker" } ], "rows": [ { } ], "style":"dark", "tags":[], "templating":{ "list":[ ] }, "time":{ }, "timezone":"browser", "title":"Home", "version":5 } }

按密钥删除快照

DELETE /api/snapshots/:key

示例请求

DELETE /api/snapshots/YYYYYYY HTTP/1.1 Accept: application/json Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

响应示例

HTTP/1.1 200 Content-Type: application/json {"message":"Snapshot deleted. It might take an hour before it's cleared from any CDN caches.", "id": 1}

通过 deleteKey 删除快照

通过使用快照的秘密删除密钥,无需身份验证即可使用此 API 调用。

GET /api/snapshots-delete/:deleteKey

示例请求

GET /api/snapshots-delete/XXXXXXX HTTP/1.1 Accept: application/json

响应示例

HTTP/1.1 200 Content-Type: application/json {"message":"Snapshot deleted. It might take an hour before it's cleared from any CDN caches.", "id": 1}