

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

# 播放列表 API
<a name="v12-Grafana-API-Playlist"></a>

使用播放列表 API 在 Amazon Managed Grafana 工作区中处理播放列表。

**注意**  
要在您的亚马逊托管 Grafana 工作空间中使用 Grafana API，您必须拥有有效的服务账户令牌。您可以将其包含在 API 请求的 `Authorization` 字段中。

## 列出播放列表
<a name="v12-Grafana-API-Playlist-list"></a>

```
GET /apis/playlist.grafana.app/v1/namespaces/default/playlists
```

列出工作区中的所有播放列表。

**示例请求**

```
GET /apis/playlist.grafana.app/v1/namespaces/default/playlists HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json

{
  "kind": "PlaylistList",
  "apiVersion": "playlist.grafana.app/v1",
  "metadata": {},
  "items": [
    {
      "kind": "Playlist",
      "apiVersion": "playlist.grafana.app/v1",
      "metadata": {
        "name": "my-playlist-uid",
        "namespace": "default"
      },
      "spec": {
        "title": "My Playlist",
        "interval": "5m",
        "items": [
          {"type": "dashboard_by_uid", "value": "dashboard-uid-1"}
        ]
      }
    }
  ]
}
```

## 获取播放列表
<a name="v12-Grafana-API-Playlist-get"></a>

```
GET /apis/playlist.grafana.app/v1/namespaces/default/playlists/:name
```

按名称 (UID) 检索特定的播放列表。

**示例请求**

```
GET /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json

{
  "kind": "Playlist",
  "apiVersion": "playlist.grafana.app/v1",
  "metadata": {
    "name": "my-playlist-uid",
    "namespace": "default"
  },
  "spec": {
    "title": "My Playlist",
    "interval": "5m",
    "items": [
      {"type": "dashboard_by_uid", "value": "dashboard-uid-1"}
    ]
  }
}
```

## 创建播放列表
<a name="v12-Grafana-API-Playlist-create"></a>

```
POST /apis/playlist.grafana.app/v1/namespaces/default/playlists
```

创建新的播放列表。

**示例请求**

```
POST /apis/playlist.grafana.app/v1/namespaces/default/playlists HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "metadata": {"name": "my-new-playlist-uid"},
  "spec": {
    "title": "My New Playlist",
    "interval": "5m",
    "items": [
      {"type": "dashboard_by_uid", "value": "dashboard-uid-1"}
    ]
  }
}
```

## 更新播放列表
<a name="v12-Grafana-API-Playlist-update"></a>

```
PUT /apis/playlist.grafana.app/v1/namespaces/default/playlists/:name
```

更新现有播放列表。必须提供完整的播放列表规范。

**示例请求**

```
PUT /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "metadata": {
    "name": "my-playlist-uid",
    "resourceVersion": "1234567890"
  },
  "spec": {
    "title": "Updated Playlist",
    "interval": "10m",
    "items": [
      {"type": "dashboard_by_uid", "value": "dashboard-uid-1"},
      {"type": "dashboard_by_tag", "value": "monitoring"}
    ]
  }
}
```

## 删除播放列表
<a name="v12-Grafana-API-Playlist-delete"></a>

```
DELETE /apis/playlist.grafana.app/v1/namespaces/default/playlists/:name
```

按名称 (UID) 删除播放列表。

**示例请求**

```
DELETE /apis/playlist.grafana.app/v1/namespaces/default/playlists/my-playlist-uid HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json

{
  "kind": "Status",
  "apiVersion": "v1",
  "status": "Success",
  "code": 200
}
```

## 搜索播放列表（已弃用）
<a name="v12-Grafana-API-Playlist-search"></a>

**重要**  
此端点已被弃用。请改用 [列出播放列表](#v12-Grafana-API-Playlist-list)。

```
GET /api/playlists
```

使用分页返回当前 Amazon Managed Grafana 工作区的所有播放列表。

**示例请求**

```
GET /api/playlists HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

Querystring 参数：
+ **query**：将响应限制为名称类似于此值的播放列表。
+ **limit**：将响应限制为 X 个播放列表。

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json
[
  {
    "id": 1,
    "name": "my playlist",
    "interval": "5m"
  }
]
```

## 获取一个播放列表（已弃用）
<a name="v12-Grafana-API-Playlist-getone"></a>

**重要**  
此端点已被弃用。请改用 [获取播放列表](#v12-Grafana-API-Playlist-get)。

```
GET /api/playlists/:id
```

**示例请求**

```
GET /api/playlists/1 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json
{
  "id" : 1,
  "name": "my playlist",
  "interval": "5m",
  "orgId": "my org",
  "items": [
    {
      "id": 1,
      "playlistId": 1,
      "type": "dashboard_by_id",
      "value": "3",
      "order": 1,
      "title":"my third dashboard"
    },
    {
      "id": 2,
      "playlistId": 1,
      "type": "dashboard_by_tag",
      "value": "myTag",
      "order": 2,
      "title":"my other dashboard"
    }
  ]
}
```

## 获取播放列表项（已弃用）
<a name="v12-Grafana-API-Playlist-get-items"></a>

**重要**  
此端点已被弃用。请改用 [获取播放列表](#v12-Grafana-API-Playlist-get)。播放列表项包含在播放列表响应中。

```
GET /api/playlists/:id/items
```

**示例请求**

```
GET /api/playlists/1/items HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json
[
  {
    "id": 1,
    "playlistId": 1,
    "type": "dashboard_by_id",
    "value": "3",
    "order": 1,
    "title":"my third dashboard"
  },
  {
    "id": 2,
    "playlistId": 1,
    "type": "dashboard_by_tag",
    "value": "myTag",
    "order": 2,
    "title":"my other dashboard"
  }
]
```

## 获取播放列表控制面板（已弃用）
<a name="v12-Grafana-API-Playlist-get-dashboards"></a>

**重要**  
此端点已被弃用。请改用 [获取播放列表](#v12-Grafana-API-Playlist-get)。

```
GET /api/playlists/:id/dashboards
```

**示例请求**

```
GET /api/playlists/1/dashboards HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json
[
  {
    "id": 3,
    "title": "my third dashboard",
    "order": 1,
  },
  {
    "id": 5,
    "title":"my other dashboard"
    "order": 2,

  }
]
```

## 创建播放列表（已弃用）
<a name="v12-Grafana-API-Playlist-create-legacy"></a>

**重要**  
此端点已被弃用。请改用 [创建播放列表](#v12-Grafana-API-Playlist-create)。

```
POST /api/playlists/
```

**示例请求**

```
PUT /api/playlists/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
  {
    "name": "my playlist",
    "interval": "5m",
    "items": [
      {
        "type": "dashboard_by_id",
        "value": "3",
        "order": 1,
        "title":"my third dashboard"
      },
      {
        "type": "dashboard_by_tag",
        "value": "myTag",
        "order": 2,
        "title":"my other dashboard"
      }
    ]
  }
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json
  {
    "id": 1,
    "name": "my playlist",
    "interval": "5m"
  }
```

## 更新播放列表（已弃用）
<a name="v12-Grafana-API-Playlist-update-legacy"></a>

**重要**  
此端点已被弃用。请改用 [更新播放列表](#v12-Grafana-API-Playlist-update)。

```
PUT /api/playlists/:id
```

**示例请求**

```
PUT /api/playlists/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
  {
    "name": "my playlist",
    "interval": "5m",
    "items": [
      {
        "playlistId": 1,
        "type": "dashboard_by_id",
        "value": "3",
        "order": 1,
        "title":"my third dashboard"
      },
      {
        "playlistId": 1,
        "type": "dashboard_by_tag",
        "value": "myTag",
        "order": 2,
        "title":"my other dashboard"
      }
    ]
  }
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json
{
  "id" : 1,
  "name": "my playlist",
  "interval": "5m",
  "orgId": "my org",
  "items": [
    {
      "id": 1,
      "playlistId": 1,
      "type": "dashboard_by_id",
      "value": "3",
      "order": 1,
      "title":"my third dashboard"
    },
    {
      "id": 2,
      "playlistId": 1,
      "type": "dashboard_by_tag",
      "value": "myTag",
      "order": 2,
      "title":"my other dashboard"
    }
  ]
}
```

## 删除播放列表（已弃用）
<a name="v12-Grafana-API-Playlist-delete-legacy"></a>

**重要**  
此端点已被弃用。请改用 [删除播放列表](#v12-Grafana-API-Playlist-delete)。

```
DELETE /api/playlists/:id
```

**示例请求**

```
DELETE /api/playlists/1 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```

**响应示例**

```
HTTP/1.1 200
Content-Type: application/json
{}
```