Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST APIs ›Ingest APIs

API создания или обновления конфигурации базы данных геолокации IP-адресов

Справочник нового API

Для получения самых актуальных сведений об API обратитесь к Ingest APIs.

Создает или обновляет конфигурацию базы данных геолокации IP-адресов.

Для базы данных Maxmind, представленной ниже, требуется ключ лицензии. Поскольку ключ лицензии — конфиденциальная информация, он хранится в качестве защищенного параметра в Elasticsearch под названием ingest.geoip.downloader.maxmind.license_key. В настоящее время в одном кластере Elasticsearch разрешен только один ключ лицензии Maxmind. Для загрузки данных из Maxmind необходим действительный ключ лицензии, который должен быть указан в защищенных параметрах. Настройки ключа лицензии вступают в силу после перезапуска всех узлов или выполнения запроса reload_secure_settings.

resp = client.ingest.put_ip_location_database(
    id="my-database-1",
    configuration={
        "name": "GeoIP2-Domain",
        "maxmind": {
            "account_id": "1234567"
        }
    },
)
print(resp)
const response = await client.transport.request({
  method: "PUT",
  path: "/_ingest/ip_location/database/my-database-1",
  body: {
    name: "GeoIP2-Domain",
    maxmind: {
      account_id: "1234567",
    },
  },
});
console.log(response);
PUT _ingest/ip_location/database/my-database-1
{
  "name": "GeoIP2-Domain",
  "maxmind": {
    "account_id": "1234567"
  }
}

Для конфигурации IPinfo, приведенной ниже, требуется токен. Поскольку токен — конфиденциальная информация, он хранится в качестве защищенного параметра в Elasticsearch под названием ingest.ip_location.downloader.ipinfo.token. В настоящее время в одном кластере Elasticsearch разрешен только один токен IPinfo. Для загрузки данных из IPinfo необходим действительный токен, который должен быть указан в защищенных параметрах. Настройки токена вступают в силу после перезапуска всех узлов или выполнения запроса reload_secure_settings.

resp = client.ingest.put_ip_location_database(
    id="my-database-2",
    configuration={
        "name": "standard_location",
        "ipinfo": {}
    },
)
print(resp)
const response = await client.transport.request({
  method: "PUT",
  path: "/_ingest/ip_location/database/my-database-2",
  body: {
    name: "standard_location",
    ipinfo: {},
  },
});
console.log(response);
PUT _ingest/ip_location/database/my-database-2
{
  "name": "standard_location",
  "ipinfo": {
  }
}

Запрос

PUT /_ingest/ip_location/database/<database>

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

  • Если в Elasticsearch включены функции безопасности, для использования данного API необходимо обладать правом manage cluster.

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

<database>

__ (Обязательный, строка) Идентификатор конфигурации базы данных для создания или обновления.

Параметры запроса

master_timeout
(Необязательно, единицы времени) Время ожидания мастера. Если мастер недоступен до истечения времени ожидания, запрос завершается с ошибкой. По умолчанию 30s. Также может быть установлено значение -1, чтобы указать, что запрос никогда не должен зависать.
timeout
(Необязательно, единицы времени) Время ожидания ответа от всех соответствующих узлов кластера после обновления метаданных кластера. Если ответ не получен до истечения времени ожидания, обновление метаданных кластера все равно выполнится, но в ответе будет указано, что оно не было полностью подтверждено. По умолчанию 30s. Также может быть установлено значение -1, чтобы указать, что запрос никогда не должен зависать.

Тело запроса

name
(Обязательный, строка) Наименование базы данных геолокации IP-адресов, назначенное провайдером, для загрузки.
<provider>

(Обязательный, объект провайдера и его конфигурация) Конфигурация, необходимая для определения провайдера геолокации IP-адресов для загрузки базы данных, а также любая конфигурация провайдера, необходимая для такой загрузки.

В настоящее время поддерживаются только провайдеры maxmind и ipinfo. Провайдер Maxmind требует конфигурации account_id (строка). Провайдер ipinfo не требует дополнительной конфигурации в теле запроса.

Лицензирование

Загрузка баз данных от сторонних провайдеров — коммерческая функция, требующая соответствующей лицензии. Для получения дополнительной информации обратитесь к https://www.elastic.co/subscriptions.

© 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/8.17/put-ip-location-database-api.html

Spec-Zone.ru

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