本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
快照 API
使用快照 API 在 Amazon Managed Grafana 工作区中处理快照。
注意
要对 Amazon Managed 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 正文架构:
-
dashboard:(必填)完整的控制面板模型。
-
name:(可选)快照的名称。
-
expires:(可选)快照应过期的时间(以秒为单位)。默认值为永不过期。
-
external:(可选)将快照保存到外部服务器而不是本地。默认设置为“false”。
-
key:(如果
external
为true
,则为必填项)定义唯一键。 -
deletekey:(如果
external
为true
,则为必填项)用于删除快照的唯一键。它与key
不同,只有创建者才能删除快照。
注意
使用 API 创建快照时,您必须提供包括快照数据在内的完整控制面板有效载荷。此端点专为 Grafana UI 而设计。
响应示例
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, }
键:
-
deleteKey:生成用于删除快照的键。
-
key:生成用于共享控制面板的键。
获取快照列表
GET /api/dashboard/snapshots
查询参数:
-
query:搜索查询
-
limit:限制返回结果的数量
示例请求
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}