创建数据视图 API编辑

[预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。 创建数据视图。

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

请求编辑

POST <kibana 主机>:<端口>/api/data_views/data_view

POST <kibana 主机>:<端口>/s/<空间 ID>/api/data_views/data_view

路径参数编辑

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

请求正文编辑

override
(可选,布尔值)如果已存在具有所提供标题的数据视图,则覆盖现有数据视图。默认值为 false
data_view
(必填,对象)数据视图对象。所有字段均为可选。

响应代码编辑

200
表示调用成功。

示例编辑

要浏览 logstash-* 索引中的数据,请创建一个数据视图

$ curl -X POST api/data_views/data_view
{
  "data_view": {
     "title": "logstash-*",
     "name": "My Logstash Data View"
  }
}

要创建自定义字段格式,请使用 data_view.fieldFormats 属性

$ curl -X POST api/data_views/data_view
{
  "data_view": {
    "title": "logstash-*",
    "name": "My Logstash data view 2",
    "fieldFormats": {
      "event_time": {
        "id": "date_nanos"
      },
      "machine.ram": {
        "id": "number",
        "params": {
          "pattern": "0,0.[000] b"
        }
      }
    }
  }
}

要创建自定义标签,请使用 data_view.fieldAttrs 属性

$ curl -X POST api/data_views/data_view
{
  "data_view": {
    "title": "logstash-*",
    "name": "My Logstash data view 3",
    "fieldAttrs": {
      "utc_time": {
        "customLabel": "Time (UTC)"
      }
    }
  }
}

要使用运行时字段创建数据视图,请使用 data_view.runtimeFieldMap 属性

$ curl -X POST api/data_views/data_view
{
  "data_view": {
    "title": "logstash-*",
    "name": "My Logstash data view 3",
    "runtimeFieldMap": {
      "runtime_shape_name": {
        "type": "keyword",
        "script": {
          "source": "emit(doc['shape_name'].value)"
        }
      }
    }
  }
}

要基于汇总索引创建数据视图,请使用 data_view.typedata_view.typeMeta 属性

已在 8.11.0 中弃用。

汇总已弃用,将在未来版本中删除。请改用下采样

$ curl -X POST api/data_views/data_view
{
  "data_view": {
    "title": "logstash-*",
    "name": "My Logstash rollup data view",
    "type": "rollup",
    "typeMeta": {
      "params": {
        "rollup_index": "rollup_logstash"
      },
      "aggs": {
        "terms": {
          "geo.dest": { "agg": "terms" },
          "extension.keyword": { "agg": "terms" },
          "geo.src": { "agg": "terms" },
          "machine.os.keyword": { "agg": "terms" }
        },
        "date_histogram": {
          "@timestamp": {
            "agg": "date_histogram",
            "fixed_interval": "20m",
            "delay": "10m",
            "time_zone": "UTC"
          }
        },
        "avg": {
          "memory": { "agg": "avg" },
          "bytes": { "agg": "avg" }
        },
        "max": { "memory": { "agg": "max" } },
        "min": { "memory": { "agg": "min" } },
        "sum": { "memory": { "agg": "sum" } },
        "value_count": { "memory": { "agg": "value_count" } },
        "histogram": {
          "machine.ram": {
            "agg": "histogram",
            "interval": 5
          }
        }
      }
    }
  }
}

API 返回数据视图对象

{
    "data_view": {...}
}

data_view 对象的属性:编辑

title
(可选,字符串)要搜索的数据流、索引和别名的逗号分隔列表。支持通配符 (*)。
name
(可选,字符串)数据视图名称。
id
(可选,字符串)已保存对象的 ID。
type
(可选,字符串)设置为 rollup 时,标识汇总数据视图。
typeMeta

(可选,对象)使用汇总索引时,包含汇总数据视图 API 端点的字段列表。

typeMeta 对象的属性
aggs
(必填,对象)按聚合类型和字段名称划分的汇总限制映射。
params
(必填,对象)用于检索汇总字段的属性。
timeFieldName
(可选,字符串)时间戳字段名称,用于基于时间的数据视图。
sourceFilters
(可选,字符串数组)要在Discover中过滤掉的字段名称数组。
fieldAttrs

(可选,对象)按字段名称划分的字段属性映射。

fieldAttrs[fieldName] 对象的属性
customLabel
(可选,字符串)字段的自定义标签。
count
(可选,数字)字段的流行度计数。
runtimeFieldMap

(可选,对象)按字段名称划分的运行时字段定义映射。

runtimeFieldMap[fieldName] 对象的属性
type
(必填,字符串)运行时字段的映射类型。有关更多信息,请查看字段数据类型
script.source
(必填,字符串)运行时字段的脚本。
fieldFormats
(可选,对象)按字段名称划分的字段格式映射。
allowNoIndex
(可选,布尔值)允许在数据可用之前存在数据视图已保存对象。
namespaces
(可选,字符串数组)用于在多个空间之间共享数据视图的空间ID 数组。