工作区 API
2.18 版引入
工作区 API 提供了一组用于管理 OpenSearch 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> | 字符串 | 必需 | 标识要检索的唯一工作区。 |
请求示例
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> | 字符串 | 必需 | 标识要检索的唯一工作区。 |
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> | 字符串 | 必需 | 标识要检索的唯一工作区。 |
请求示例
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",
}
]
}