Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›API для сворачивания

API получения возможностей индекса сворачивания

Возвращает возможности сворачивания всех задач внутри индекса сворачивания (например, индекса, где хранятся данные сворачивания).

Эта функциональность находится в техническом предварительном просмотре и может быть изменена или удалена в будущих релизах. Elastic будет работать над исправлением любых проблем, но функции в техническом предварительном просмотре не подпадают под SLA поддержки официальных функций GA.

Запрос

GET <target>/_rollup/data

Предварительные условия

  • Если функции безопасности Elasticsearch включены, у вас должны быть любые из read, view_index_metadata или manage прав доступа к индексу на индекс, хранящий результаты сворачивания. Дополнительную информацию см. в разделе Права безопасности.

Описание

Один индекс сворачивания может хранить данные для нескольких задач сворачивания и может обладать различными возможностями в зависимости от этих задач.

Этот API позволит определить:

  1. Какие задачи хранятся в индексе (или индексах, указанных по шаблону)?
  2. Какие целевые индексы были свернуты, какие поля использовались в этих сворачиваниях и какие агрегации могут быть выполнены для каждой задачи?

Параметры пути

<target>
(Обязательно, строка) Поток данных или индекс для проверки возможностей сворачивания. Поддерживаются выражения с подстановкой (*).

Примеры

Представьте, что у нас есть индекс с именем sensor-1, заполненный сырыми данными. Мы знаем, что данные будут расти со временем, поэтому будет sensor-2, sensor-3 и т.д. Давайте создадим задачу сворачивания, которая хранит свои данные в sensor_rollup:

PUT _rollup/job/sensor
{
  "index_pattern": "sensor-*",
  "rollup_index": "sensor_rollup",
  "cron": "*/30 * * * * ?",
  "page_size": 1000,
  "groups": {
    "date_histogram": {
      "field": "timestamp",
      "fixed_interval": "1h",
      "delay": "7d"
    },
    "terms": {
      "fields": [ "node" ]
    }
  },
  "metrics": [
    {
      "field": "temperature",
      "metrics": [ "min", "max", "sum" ]
    },
    {
      "field": "voltage",
      "metrics": [ "avg" ]
    }
  ]
}

Если впоследствии нам понадобится определить, какие задачи и возможности хранились в индексе sensor_rollup, мы можем использовать API получения возможностей индекса сворачивания:

GET /sensor_rollup/_rollup/data

Обратите внимание, как мы запрашиваем конкретное имя индекса сворачивания (sensor_rollup) в качестве первой части URL. Это приведет к следующему ответу:

{
  "sensor_rollup" : {
    "rollup_jobs" : [
      {
        "job_id" : "sensor",
        "rollup_index" : "sensor_rollup",
        "index_pattern" : "sensor-*",
        "fields" : {
          "node" : [
            {
              "agg" : "terms"
            }
          ],
          "temperature" : [
            {
              "agg" : "min"
            },
            {
              "agg" : "max"
            },
            {
              "agg" : "sum"
            }
          ],
          "timestamp" : [
            {
              "agg" : "date_histogram",
              "time_zone" : "UTC",
              "fixed_interval" : "1h",
              "delay": "7d"
            }
          ],
          "voltage" : [
            {
              "agg" : "avg"
            }
          ]
        }
      }
    ]
  }
}

Возвращаемый ответ содержит информацию, похожую на исходную конфигурацию сворачивания, но в другом формате. Сначала идут некоторые служебные данные: идентификатор задачи сворачивания, индекс, в котором хранятся свернутые данные, шаблон индекса, по которому работала задача.

Далее показан список полей, содержащих данные, подходящие для поиска сворачивания. Здесь мы видим четыре поля: node, temperature, timestamp и voltage. Каждое из этих полей указывает возможные агрегации. Например, вы можете использовать агрегацию min, max или sum для поля temperature, но только date_histogram для поля timestamp.

Обратите внимание, что элемент rollup_jobs представляет собой массив; может быть несколько независимых задач сворачивания, сконфигурированных для одного индекса или шаблона индекса. У каждой из этих задач могут быть разные конфигурации, поэтому API возвращает список всех доступных конфигураций.

Как и другие API, взаимодействующие с индексами, вы можете указать шаблоны индексов вместо явных индексов:

GET /*_rollup/_rollup/data

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/rollup-get-rollup-index-caps.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API