批量更新对象 API编辑

已于 8.7.0 版本弃用。

将在未来版本中移除

更新多个现有 Kibana 已保存对象的属性。

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

请求编辑

PUT <kibana 主机>:<端口>/api/saved_objects/_bulk_update

PUT <kibana 主机>:<端口>/s/<空间 ID>/api/saved_objects/_bulk_update

路径参数编辑

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

请求正文编辑

type
(必填,字符串)有效选项包括 visualizationdashboardsearchindex-patternconfig
id
(必填,字符串)要更新的对象 ID。
attributes

(必填,对象)要持久化的数据。

更新时,不会验证属性,这允许您将任意和格式错误的数据传递到 API 中并破坏 Kibana。请确保发送到 API 的任何数据都格式正确。

references
(可选,数组)具有 nameidtype 属性的对象,这些属性描述了此对象引用的其他已保存对象。要引用其他已保存对象,请在属性中使用 name,而不要使用 id,后者会在迁移或导入/导出期间自动更新。
version
(可选,数字)确保版本与持久化对象的版本匹配。
namespace
(可选,字符串)要在其中更新此对象的命名空间的标识符。如果定义了此项,它将取代 URL 中的命名空间 ID。

响应代码编辑

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

示例编辑

更新三个已保存对象,其中一个不存在

$ curl -X PUT api/saved_objects/_bulk_update
[
  {
    type: 'visualization',
    id: 'not an id',
    attributes: {
      title: 'An existing visualization',
    },
  },
  {
    type: 'dashboard',
    id: 'be3733a0-9efe-11e7-acb3-3dab96693fab',
    attributes: {
      title: 'An existing dashboard',
    },
  {
    type: 'index-pattern',
    id: 'logstash-*',
    attributes: { title: 'my-logstash-pattern' }
  }
]

API 返回以下内容

[
  {
    "type": "visualization",
    "id": "not an id",
    "error": {
      "statusCode": 404,
      "error": "Not Found",
      "message": "Saved object [visualization/not an id] not found",
    },
  },
  {
    "type": "dashboard",
    "id": "be3733a0-9efe-11e7-acb3-3dab96693fab",
    "version": 2,
    "attributes": {
      "title": "An existing dashboard",
    },
  },
  {
    "type": "index-pattern",
    "id": "logstash-*",
    "attributes": {
      "title": "my-logstash-pattern",
    }
  }
]