获取转换 API

编辑

检索转换的配置信息。

请求

编辑

GET _transform/<transform_id>

GET _transform/<transform_id>,<transform_id>

GET _transform/

GET _transform/_all

GET _transform/*

先决条件

编辑

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

描述

编辑

您可以通过使用逗号分隔的标识符列表或通配符表达式,在单个 API 请求中获取多个转换的信息。您可以通过使用 _all、将 * 指定为 <transform_id>,或者省略 <transform_id> 来获取所有转换的信息。

路径参数

编辑
<transform_id>
(可选,字符串)转换的标识符。它可以是转换标识符或通配符表达式。如果您未指定这些选项之一,API 将返回所有转换的信息。

查询参数

编辑
allow_no_match

(可选,布尔值)指定当请求

  • 包含通配符表达式且没有匹配的转换时该怎么做。
  • 包含 _all 字符串或没有标识符且没有匹配项时该怎么做。
  • 包含通配符表达式且只有部分匹配项时该怎么做。

默认值为 true,当没有匹配项时返回一个空的 transforms 数组,当有部分匹配项时返回结果的子集。

如果此参数为 false,则当没有匹配项或只有部分匹配项时,请求将返回 404 状态代码。

exclude_generated
(可选,布尔值)排除创建转换时自动添加的字段。这允许配置采用可接受的格式,以便检索并添加到另一个集群。默认为 false。
from
(可选,整数)跳过指定数量的转换。默认值为 0
size
(可选,整数)指定要获取的最大转换数量。默认值为 100

响应体

编辑

API 返回一个转换资源数组,这些资源按照 id 值升序排序。有关属性的完整列表,请参阅创建转换 API

create_time
(字符串)转换的创建时间。例如,1576094542936。此属性仅供参考;您无法更改其值。
version
(字符串)创建训练模型的转换配置版本号。

从 Elasticsearch 8.10.0 开始,使用新的版本号来跟踪转换插件中的配置和状态更改。这个新版本号与产品版本解耦,并将独立递增。version 值表示新的版本号。

响应代码

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

示例

编辑

以下示例检索最多十个转换的信息

resp = client.transform.get_transform(
    size="10",
)
print(resp)
response = client.transform.get_transform(
  size: 10
)
puts response
const response = await client.transform.getTransform({
  size: 10,
});
console.log(response);
GET _transform?size=10

以下示例获取 ecommerce_transform1 转换的配置信息

resp = client.transform.get_transform(
    transform_id="ecommerce_transform1",
)
print(resp)
response = client.transform.get_transform(
  transform_id: 'ecommerce_transform1'
)
puts response
const response = await client.transform.getTransform({
  transform_id: "ecommerce_transform1",
});
console.log(response);
GET _transform/ecommerce_transform1

API 返回以下结果

{
  "count" : 1,
  "transforms" : [
    {
      "id" : "ecommerce_transform1",
      "authorization" : {
        "roles" : [
          "superuser"
        ]
      },
      "version" : "8.4.0",
      "create_time" : 1656023416565,
      "source" : {
        "index" : [
          "kibana_sample_data_ecommerce"
        ],
        "query" : {
          "term" : {
            "geoip.continent_name" : {
              "value" : "Asia"
            }
          }
        }
      },
      "dest" : {
        "index" : "kibana_sample_data_ecommerce_transform1",
        "pipeline" : "add_timestamp_pipeline"
      },
      "frequency" : "5m",
      "sync" : {
        "time" : {
          "field" : "order_date",
          "delay" : "60s"
        }
      },
      "pivot" : {
        "group_by" : {
          "customer_id" : {
            "terms" : {
              "field" : "customer_id"
            }
          }
        },
        "aggregations" : {
          "max_price" : {
            "max" : {
              "field" : "taxful_total_price"
            }
          }
        }
      },
      "description" : "Maximum priced ecommerce data by customer_id in Asia",
      "settings" : { },
      "retention_policy" : {
        "time" : {
          "field" : "order_date",
          "max_age" : "30d"
        }
      }
    }
  ]
}