批量删除对象 API编辑

已在 8.7.0 中弃用。

将在未来版本中移除

删除多个 Kibana 已保存对象。

删除已保存对象后,*将无法恢复*。

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

请求编辑

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

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

路径参数编辑

space_id
(可选,字符串)空间的标识符。如果未在 URL 中提供 space_id,则使用默认空间。

请求正文编辑

类型
(必填,字符串)有效选项包括 visualizationdashboardsearchindex-patternconfig
id
(必填,字符串)要删除的对象 ID。

查询参数编辑

force

(可选,布尔值)如果为 true,则强制删除存在于多个命名空间中的对象。请注意,该选项适用于整个请求。使用删除对象来指定每个对象的删除行为。

如果您尝试删除对象并收到 HTTP 400 错误,并显示以下消息,请使用此选项:*“无法删除存在于多个命名空间中的已保存对象,请使用 force 选项将其删除”*

当您批量删除存在于多个命名空间中的对象时,API 还会删除引用该对象的旧版 URL 别名。这些请求是批量处理的,以最大程度地减少影响,但它们可能会给 Kibana 带来沉重的负载。请确保您限制在单个批量删除操作中存在于多个命名空间中的对象数量。

响应代码编辑

200
表示调用成功。请注意,此 HTTP 响应代码表示批量操作成功。与单个对象相关的错误将在响应正文中返回。有关详细信息,请参阅下面的示例。

响应正文编辑

状态
(数组)顶级属性,包含表示每个请求对象的响应的对象。响应中对象的顺序与请求中对象的顺序相同。

无法删除的已保存对象将包含一个错误对象。

示例编辑

删除三个已保存对象,其中一个不存在,另一个存在于多个命名空间中

$ curl -X POST api/saved_objects/_bulk_delete
[
  {
    type: 'visualization',
    id: 'not an id',
  },
  {
    type: 'dashboard',
    id: 'be3733a0-9efe-11e7-acb3-3dab96693fab',
  {
    type: 'index-pattern',
    id: 'd3d7af60-4c81-11e8-b3d7-01146121b73d',
  }
]

API 返回以下内容

{
  "statuses": [
    {
      "success": false,
      "id": "not an id",
      "type": "visualization",
      "error": {
        "statusCode": 404,
        "error": "Not Found",
        "message": "Saved object [visualization/not an id] not found",
      },
    },
    {
      "success": true,
      "id": "be3733a0-9efe-11e7-acb3-3dab96693fab",
      "type": "dashboard",
    },
    {
      "success": false,
      "id": "d3d7af60-4c81-11e8-b3d7-01146121b73d",
      "type": "index-pattern",
      "error": {
        "statusCode": 400,
        "error": "Bad Request",
        "message": "Unable to delete saved object id: d3d7af60-4c81-11e8-b3d7-01146121b73d, type: index-pattern that exists in multiple namespaces, use the \"force\" option to delete all saved objects: Bad Request",
      },
    }
  ]
}