Link Search Menu Expand Document Documentation Menu

工作区 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-patternconfigdashboard
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-patternconfigdashboard
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-patternconfigdashboard
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",
        }
    ]
}