本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
快照 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}