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