工作区 API
Workspaces API 提供了一组用于管理 UDB-SX Dashboards 中工作区的端点。
列出工作区 API
你可以使用以下端点来获取工作区列表:
POST <osd host>:<port>/api/workspaces/_list
下表列出了可用的路径参数。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
search |
字符串 | 可选 | 用于以简单查询语法过滤工作区的查询字符串,例如 simple_query_string。 |
searchFields |
数组 | 可选 | 指定在哪些字段上执行搜索查询。 |
sortField |
字符串 | 可选 | 用于排序结果的字段名。 |
sortOrder |
字符串 | 可选 | 指定升序或降序排列。 |
perPage |
数值 | 可选 | 每页返回的工作区数量。 |
page |
数值 | 可选 | 要检索的结果页数。 |
permissionModes |
数组 | 可选 | 要按其筛选的权限列表。 |
示例请求
POST /api/workspaces/_list
以下示例响应展示了成功的 API 调用结果:
{
"success": true,
"result": {
"page": 1,
"per_page": 20,
"total": 3,
"workspaces": [
{
"name": "test1",
"features": [
"use-case-all"
],
"id": "hWNZls"
},
{
"name": "test2",
"features": [
"use-case-observability"
],
"id": "SnkOPt"
}
]
}
}
获取工作区 API
你可以使用以下端点来获取单个工作区:
GET <osd host>:<port>/api/workspaces/<id>
下表列出了可用的路径参数。所有路径参数都是必需的。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
<id> |
字符串 | 必填 | 指定要检索的唯一工作区 ID。 |
示例请求
GET /api/workspaces/SnkOPt
以下示例响应展示了成功的 API 调用结果:
{
"success": true,
"result": {
"name": "test2",
"features": ["use-case-all"],
"id": "SnkOPt"
}
}
创建工作区 API
你可以使用以下端点来创建一个工作区:
POST <osd host>:<port>/api/workspaces
下表列出了可用的路径参数。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
attributes |
对象 | 必填 | 定义工作区属性。 |
permissions |
对象 | 可选 | 指定工作区权限。 |
示例请求
POST api/workspaces
{
"attributes": {
"name": "test4",
"description": "test4"
}
}
以下示例响应展示了成功的 API 调用结果:
{
"success": true,
"result": {
"id": "eHVoCJ"
}
}
更新工作区 API
你可以使用以下端点来更新工作区的属性和权限:
PUT <osd host>:<port>/api/workspaces/<id>
下表列出了可用的路径参数。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
<id> |
字符串 | 必填 | 指定要更新的唯一工作区 ID。 |
attributes |
对象 | 必填 | 定义工作区属性。 |
permissions |
对象 | 可选 | 指定工作区权限。 |
示例请求
PUT api/workspaces/eHVoCJ
{
"attributes": {
"name": "test4",
"description": "test update"
}
}
以下示例响应展示了成功的 API 调用结果:
{
"success": true,
"result": true
}
删除工作区 API
你可以使用以下端点删除一个工作区:
DELETE <osd host>:<port>/api/workspaces/<id>
下表列出了可用的路径参数。所有路径参数都是必需的。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
<id> |
字符串 | 必填 | 指定要删除的唯一工作区 ID。 |
示例请求
DELETE api/workspaces/eHVoCJ
以下示例响应展示了成功的 API 调用结果:
{
"success": true,
"result": true
}
复制已保存对象到工作区 API
你可以使用以下端点在工作区之间复制已保存的对象:
POST <osd host>:<port>/api/workspaces/_duplicate_saved_objects
下表列出了可用的路径参数。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
objects |
数组 | 必填 | 指定要复制的已保存对象。 |
targetWorkspace |
字符串 | 必填 | 指定复制的目标工作区。 |
includeReferencesDeep |
布尔值 | 可选 | 是否将所有引用对象一并复制到目标工作区。默认值为 true。 |
下表列出了 objects 参数中对象的属性。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
type |
字符串 | 必填 | 定义已保存对象的类型,例如 index-pattern、config 或 dashboard。 |
id |
字符串 | 必填 | 已保存对象的 ID。 |
示例请求
POST api/workspaces/_duplicate_saved_objects
{
"objects": [
{
"type": "index-pattern",
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d"
}
],
"targetWorkspace": "9gt4lB"
}
以下示例响应展示了成功的 API 调用结果:
{
"successCount": 1,
"success": true,
"successResults": [
{
"type": "index-pattern",
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d",
"meta": {
"title": "test*",
"icon": "indexPatternApp"
},
"destinationId": "f4b724fd-9647-4bbf-bf59-610b43a62c75"
}
]
}
关联已保存对象到工作区 API
你可以使用以下端点将已保存对象与工作区进行关联:
POST <osd host>:<port>/api/workspaces/_associate
下表列出了可用的路径参数。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
workspaceId |
字符串 | 必填 | 指定要关联对象的目标工作区。 |
savedObjects |
数组 | 必填 | 指定要关联的已保存对象列表。 |
下表列出了 objects 参数中对象的属性。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
type |
字符串 | 必填 | 定义已保存对象的类型,例如 index-pattern、config 或 dashboard。 |
id |
字符串 | 必填 | 已保存对象的 ID。 |
示例请求
POST api/workspaces/_associate
{
"objects": [
{
"type": "index-pattern",
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d"
}
],
"targetWorkspace": "9gt4lB"
}
以下示例响应展示了成功的 API 调用结果:
{
"success": true,
"result": [
{
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d",
}
]
}
解除已保存对象与工作区的关联 API
你可以使用以下端点将已保存对象与工作区解除关联:
POST <osd host>:<port>/api/workspaces/_dissociate
下表列出了可用的路径参数。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
workspaceId |
字符串 | 必填 | 要解除对象关联的目标工作区。 |
savedObjects |
数组 | 必填 | 要解除关联的对象列表。 |
下表列出了 savedObjects 参数的属性。
| 参数 | 数据类型 | 是否必填 | 描述 |
|---|---|---|---|
type |
字符串 | 必填 | 已保存对象的类型,例如 index-pattern、config 或 dashboard。 |
id |
字符串 | 必填 | 已保存对象的 ID。 |
示例请求
POST api/workspaces/_dissociate
{
"objects": [
{
"type": "index-pattern",
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d"
}
],
"targetWorkspace": "9gt4lB"
}
以下示例响应展示了成功的 API 调用结果:
{
"success": true,
"result": [
{
"id": "619cc200-ecd0-11ee-95b1-e7363f9e289d",
}
]
}