创建保存对象 API编辑

在 8.7.0 中已弃用。

将在未来版本中删除

创建 Kibana 保存对象。

有关最新 API 详细信息,请参阅 开放 API 规范

请求编辑

POST <kibana 主机>:<端口>/api/saved_objects/<类型>

POST <kibana 主机>:<端口>/api/saved_objects/<类型>/<id>

POST <kibana 主机>:<端口>/s/<空间 ID>/api/saved_objects/<类型>

POST <kibana 主机>:<端口>/s/<空间 ID>/api/saved_objects/<类型>/<id>

路径参数编辑

空间 ID
(可选,字符串) 空间的标识符。如果 URL 中未提供 空间 ID,则使用默认空间。
<类型>
(必需,字符串) 有效选项包括 visualizationdashboardsearchindex-pattern
<id>
(可选,字符串) 指定 ID,而不是使用随机生成的 ID。

查询参数编辑

覆盖
(可选,布尔值) 为 true 时,将覆盖具有相同 ID 的文档。

请求主体编辑

属性

(必需,对象) 您要创建的数据。

创建保存对象时,不会验证属性,这允许您将任意和格式错误的数据传递到 API,这可能会破坏 Kibana。确保发送到 API 的任何数据都格式正确。

引用
(可选,数组) 具有 nameidtype 属性的对象,描述此对象引用的其他保存对象。在属性中使用 name 来引用其他保存对象,但绝不使用 id,因为 id 可能会在迁移或导入/导出期间自动更新。
初始命名空间

(可选,字符串数组) 此对象创建所在的 空间 的标识符。如果提供此选项,则仅在显式定义的空间中创建对象。如果未提供此选项,则在当前空间中创建对象(默认行为)。

  • 对于可共享对象类型(使用 namespaceType: 'multiple' 注册):此选项可用于指定一个或多个空间,包括“所有空间”标识符 ('*')。
  • 对于隔离对象类型(使用 namespaceType: 'single'namespaceType: 'multiple-isolated' 注册):此选项只能用于指定单个空间,并且不允许使用“所有空间”标识符 ('*')。
  • 对于全局对象类型(使用 `namespaceType: agnostic` 注册):无法使用此选项。

响应代码编辑

200
表示成功调用。
409
表示 冲突错误

示例编辑

$ curl -X POST api/index_patterns/index-pattern/my-pattern  -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
{
  "attributes": {
    "title": "my-pattern-*"
  }
}'

API 返回以下内容

{
  "id": "my-pattern", 
  "type": "index-pattern",
  "version": 1,
  "attributes": {
    "title": "my-pattern-*"
  }
}

当路径中未指定 my-pattern 时,会自动生成一个唯一的 ID。

冲突错误编辑

从 Kibana 8.0 开始,保存对象可以存在于多个空间中。因此,在尝试创建对象时,您可能会遇到不同类型的冲突错误。如果您遇到无法通过使用 overwrite: true 选项覆盖的 409 错误,则您可能遇到了不同类型的冲突错误。创建 API 响应有限,不包含其他元数据。您可以通过使用 批量创建 API 来获取有关此错误的更多详细信息。