获取数据帧分析作业 API编辑

检索数据帧分析作业的配置信息。

请求编辑

GET _ml/data_frame/analytics/<data_frame_analytics_id>

GET _ml/data_frame/analytics/<data_frame_analytics_id>,<data_frame_analytics_id>

GET _ml/data_frame/analytics/

GET _ml/data_frame/analytics/_all

先决条件编辑

需要 monitor_ml 集群权限。此权限包含在 machine_learning_user 内置角色中。

描述编辑

您可以通过使用逗号分隔的数据帧分析作业列表或通配符表达式,在一个 API 请求中获取多个数据帧分析作业的信息。

路径参数编辑

<data_frame_analytics_id>

(可选,字符串) 数据帧分析作业的标识符。如果您未指定此选项,则 API 将返回前一百个数据帧分析作业的信息。

您可以通过使用 _all、指定 * 作为 <data_frame_analytics_id> 或省略 <data_frame_analytics_id> 来获取所有数据帧分析作业的信息。

查询参数编辑

allow_no_match

(可选,布尔值) 指定当请求时该怎么做

  • 包含通配符表达式,并且没有匹配的数据帧分析作业。
  • 包含 _all 字符串或没有标识符,并且没有匹配项。
  • 包含通配符表达式,并且只有部分匹配项。

默认值为 true,当没有匹配项时返回一个空的 data_frame_analytics 数组,当有部分匹配项时返回结果子集。如果此参数为 false,则当没有匹配项或只有部分匹配项时,请求将返回 404 状态代码。

exclude_generated
(可选,布尔值) 指示是否应从检索到的配置中删除某些字段。这允许配置处于可接受的格式以进行检索,然后添加到另一个集群。默认值为 false。
from
(可选,整数) 跳过指定数量的数据帧分析作业。默认值为 0
size
(可选,整数) 指定要获取的最大数据帧分析作业数量。默认值为 100

响应主体编辑

data_frame_analytics

(数组) 数据帧分析作业资源数组,按 id 值升序排序。

数据帧分析作业资源的属性
analysis
(对象) 对 source 执行的分析类型。
analyzed_fields

(对象) 包含 includes 和/或 excludes 模式,这些模式选择要包含在分析中的字段。

analyzed_fields 的属性
excludes
(可选,数组) 定义从分析中排除的字段的字符串数组。
includes
(可选,数组) 定义包含在分析中的字段的字符串数组。
authorization

(对象) 作业用于运行其查询的安全权限。如果在最近一次更新作业时禁用了 Elastic Stack 安全功能,则此属性将被省略。

authorization 的属性
api_key

(对象) 如果 API 密钥用于最近一次更新作业,则其名称和标识符将列在响应中。

api_key 的属性
id
(字符串) API 密钥的标识符。
name
(字符串) API 密钥的名称。
roles
(字符串数组) 如果用户 ID 用于最近一次更新作业,则其在更新时的角色将列在响应中。
service_account
(字符串) 如果服务帐户用于最近一次更新作业,则帐户名称将列在响应中。
dest

(字符串) 分析的目标配置。

dest 的属性
index
(字符串) 存储数据帧分析作业结果的目标索引
results_field
(字符串) 存储分析结果的字段的名称。默认为 ml
id
(字符串) 数据帧分析作业的唯一标识符。
model_memory_limit
(字符串) 为数据帧分析作业设置的 model_memory_limit
source

(对象) 分析数据源的配置。它有一个 index 参数,以及可选的 query_source

source 的属性
index
(数组) 要执行分析的索引或索引模式。它可以是单个索引或索引模式,也可以是索引或模式数组。
query
(对象) 为数据帧分析作业指定的查询。Elasticsearch 查询域特定语言 (DSL)。此值对应于 Elasticsearch 搜索 POST 主体中的查询对象。默认情况下,此属性具有以下值:{"match_all": {}}
_source

(对象) 包含指定的 includes 和/或 excludes 模式,这些模式选择目标中存在的字段。排除的字段不能包含在分析中。

_source 的属性
excludes
(数组) 定义从目标中排除的字段的字符串数组。
includes
(数组) 定义包含在目标中的字段的字符串数组。

响应代码编辑

404 (缺少资源)
如果 allow_no_matchfalse,则此代码表示没有与请求匹配的资源,或者请求只有部分匹配项。

示例编辑

以下示例获取 loganalytics 数据帧分析作业的配置信息

response = client.ml.get_data_frame_analytics(
  id: 'loganalytics'
)
puts response
GET _ml/data_frame/analytics/loganalytics

API 返回以下结果

{
  "count" : 1,
  "data_frame_analytics" : [
    {
      "id" : "loganalytics",
      "create_time" : 1656364565517,
      "version" : "8.4.0",
      "authorization" : {
        "roles" : [
          "superuser"
        ]
      },
      "description" : "Outlier detection on log data",
      "source" : {
        "index" : [
          "logdata"
        ],
        "query" : {
          "match_all" : { }
        }
      },
      "dest" : {
        "index" : "logdata_out",
        "results_field" : "ml"
      },
      "analysis" : {
        "outlier_detection" : {
          "compute_feature_influence" : true,
          "outlier_fraction" : 0.05,
          "standardization_enabled" : true
        }
      },
      "model_memory_limit" : "1gb",
      "allow_lazy_start" : false,
      "max_num_threads" : 1
    }
  ]
}