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