Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›Обработка содержимого с помощью подключений Elasticsearch ›Ссылки на подключения

Справочник подключения Elastic Zoom

Подключение Zoom написано на Python с использованием фреймворка подключений Elastic.

Просмотрите исходный код для этого подключения (ветка 8.17, совместимая с Elastic 8.17).

Справочник управляемого подключения Elastic

Просмотреть справочник управляемого подключения Elastic
Доступность и предварительные требования

Этот управляемый соединитель был представлен в Elastic 8.14.0 в качестве управляемой службы в Elastic Cloud.

Чтобы использовать этот соединитель напрямую в Elastic Cloud, удовлетворите все требования к управляемым соединителям.

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

Создайте соединитель Zoom

Используйте пользовательский интерфейс

Чтобы создать новый соединитель Zoom:

  1. В пользовательском интерфейсе Kibana перейдите к странице Поиск → Содержание → Соединители из главного меню или используйте поле глобального поиска.
  2. Следуйте инструкциям для создания нового родного соединителя Zoom.

Для дополнительных операций см. Пользовательский интерфейс соединителей в Kibana.

Использование API

Вы можете использовать Elasticsearch API создания соединителя для создания нового родного соединителя Zoom.

Например:

resp = client.connector.put(
    connector_id="my-{service-name-stub}-connector",
    index_name="my-elasticsearch-index",
    name="Content synced from {service-name}",
    service_type="{service-name-stub}",
    is_native=True,
)
print(resp)
const response = await client.connector.put({
  connector_id: "my-{service-name-stub}-connector",
  index_name: "my-elasticsearch-index",
  name: "Content synced from {service-name}",
  service_type: "{service-name-stub}",
  is_native: true,
});
console.log(response);
PUT _connector/my-zoom-connector
{
  "index_name": "my-elasticsearch-index",
  "name": "Content synced from Zoom",
  "service_type": "zoom",
  "is_native": true
}
Вам также потребуется создать ключ API для использования соединителем.

Пользователю необходимы права кластера manage_api_key, manage_connector и write_connector_secrets для программированного создания ключей API.

Чтобы создать ключ API для соединителя:

  1. Выполните следующую команду, заменив значения, где необходимо. Обратите внимание на id и encoded возвращаемые значения из ответа:

    resp = client.security.create_api_key(
        name="my-connector-api-key",
        role_descriptors={
            "my-connector-connector-role": {
                "cluster": [
                    "monitor",
                    "manage_connector"
                ],
                "indices": [
                    {
                        "names": [
                            "my-index_name",
                            ".search-acl-filter-my-index_name",
                            ".elastic-connectors*"
                        ],
                        "privileges": [
                            "all"
                        ],
                        "allow_restricted_indices": False
                    }
                ]
            }
        },
    )
    print(resp)
    const response = await client.security.createApiKey({
      name: "my-connector-api-key",
      role_descriptors: {
        "my-connector-connector-role": {
          cluster: ["monitor", "manage_connector"],
          indices: [
            {
              names: [
                "my-index_name",
                ".search-acl-filter-my-index_name",
                ".elastic-connectors*",
              ],
              privileges: ["all"],
              allow_restricted_indices: false,
            },
          ],
        },
      },
    });
    console.log(response);
    POST /_security/api_key
    {
      "name": "my-connector-api-key",
      "role_descriptors": {
        "my-connector-connector-role": {
          "cluster": [
            "monitor",
            "manage_connector"
          ],
          "indices": [
            {
              "names": [
                "my-index_name",
                ".search-acl-filter-my-index_name",
                ".elastic-connectors*"
              ],
              "privileges": [
                "all"
              ],
              "allow_restricted_indices": false
            }
          ]
        }
      }
    }
  2. Используйте значение encoded для хранения секрета соединителя и обратите внимание на возвращаемое значение id из этого ответа:

    resp = client.perform_request(
        "POST",
        "/_connector/_secret",
        headers={"Content-Type": "application/json"},
        body={
            "value": "encoded_api_key"
        },
    )
    print(resp)
    const response = await client.transport.request({
      method: "POST",
      path: "/_connector/_secret",
      body: {
        value: "encoded_api_key",
      },
    });
    console.log(response);
    POST _connector/_secret
    {
      "value": "encoded_api_key"
    }
  3. Используйте ключ API id и секрет соединителя id для обновления соединителя:

    resp = client.connector.update_api_key_id(
        connector_id="my_connector_id>",
        api_key_id="API key_id",
        api_key_secret_id="secret_id",
    )
    print(resp)
    const response = await client.connector.updateApiKeyId({
      connector_id: "my_connector_id>",
      api_key_id: "API key_id",
      api_key_secret_id: "secret_id",
    });
    console.log(response);
    PUT /_connector/my_connector_id>/_api_key_id
    {
      "api_key_id": "API key_id",
      "api_key_secret_id": "secret_id"
    }

См. документацию API Elasticsearch для получения подробной информации обо всех доступных API соединителей.

Использование

Чтобы использовать этот соединитель в пользовательском интерфейсе, выберите плитку Zoom при создании нового соединителя в Поиск → Соединители.

Если вы уже знакомы с принципом работы соединителей, вы также можете использовать API соединителей.

Для дополнительных операций см. Пользовательский интерфейс соединителей в Kibana.

Подключение к Zoom

Для подключения к Zoom вам необходимо создать приложение Server-to-Server OAuth, которое может получать доступ к ресурсам. Следуйте этим шагам:

  1. Перейдите на Zoom App Marketplace и войдите в систему с вашей учётной записью Zoom.
  2. Перейдите к службе "Разработка".
  3. Выберите "Создать приложение" из раскрывающегося меню.
  4. Нажмите кнопку "Server-to-Server OAuth", чтобы зарегистрировать новое приложение.
  5. Введите имя для вашего приложения.
  6. Нажмите кнопку "Создать", чтобы создать регистрацию приложения.
  7. После завершения регистрации вы будете перенаправлены на страницу обзора приложения. Обратите внимание на значение "App Credentials", так как вам оно понадобится позже.
  8. Перейдите в раздел "Области доступа" и нажмите кнопку "Добавить области доступа".
  9. Следующие подробные области доступа должны быть добавлены в приложение.

    user:read:list_users:admin
    meeting:read:list_meetings:admin
    meeting:read:list_past_participants:admin
    cloud_recording:read:list_user_recordings:admin
    team_chat:read:list_user_channels:admin
    team_chat:read:list_user_messages:admin

Для извлечения данных в Elasticsearch соединителю требуется минимальный объем доступа user:read:list_users:admin.

+ 10. Нажмите кнопку "Готово", чтобы добавить выбранные области доступа в ваше приложение. 11. Перейдите в раздел "Активация" и введите необходимую информацию для активации приложения.

После завершения используйте следующие параметры конфигурации для настройки соединителя.

Конфигурация

Необходимы следующие поля конфигурации:

Zoom application Account ID

(обязательно) "Идентификатор учётной записи" — уникальный идентификатор, связанный с определённой учётной записью Zoom на платформе Zoom, найденный на странице обзора приложения. Пример:

  • KVx-aQssTOutOAGrDfgMaA
Zoom application Client ID

(обязательно) "Идентификатор клиента" — уникальный идентификатор, связанный с приложением, которое интегрируется с платформой Zoom, найденный на странице обзора приложения. Пример:

  • 49Z69_rnRiaF4JYyfHusw
Zoom application Client Secret

(обязательно) "Секрет клиента" — конфиденциальная информация, сгенерированная при регистрации разработчиком приложения на портале разработчиков Zoom для интеграции с платформой Zoom, найденная на странице обзора приложения. Пример:

  • eieiUJRsiH543P5NbYadavczjkqgdRTw
Recording Age Limit (Months)
(обязательно) Насколько назад во времени запрашивать записи Zoom. Записи, старше указанного значения, не будут индексироваться. Этот параметр конфигурации позволяет задать временной предел, измеряемый в месяцах, для индексирования записей.
Fetch past meeting details
Получить больше информации о предыдущих встречах, включая их детали и участников. Значение по умолчанию — False. Включите этот параметр, чтобы получить детали о прошлых встречах. Это может увеличить время синхронизации.
Извлечение содержимого

См. извлечение содержимого.

Документы и синхронизации

Соединитель синхронизирует следующие объекты и сущности:

  • Пользователи
  • Прямые встречи
  • Предстоящие встречи
  • Прошедшие встречи
  • Записи
  • Каналы
  • Сообщения чата
  • Файлы чата
  • Содержимое файлов размером более 10 МБ не будет извлечено. (Самоуправляемые соединители могут использовать локальную службу извлечения содержимого для обработки файлов больших двоичных файлов.)
  • Разрешения не синхронизируются. Все документы, индексированные в развертывание Elastic, будут видны всем пользователям с доступом к этому развертыванию Elastic.
Типы синхронизации

Полные синхронизации поддерживаются по умолчанию для всех соединителей.

Этот соединитель также поддерживает инкрементальные синхронизации.

Правила синхронизации

Базовые правила синхронизации одинаковы для всех соединителей и доступны по умолчанию.

Расширенные правила синхронизации

Расширенные правила синхронизации недоступны для этого соединителя в текущей версии.

Известные проблемы
  • Встречи: Пользователи могут индексировать только встречи, которым меньше месяца.
  • Сообщения и файлы чата: Пользователи могут индексировать чаты и файлы, которым меньше 6 месяцев.

См. Известные проблемы для списка известных проблем всех соединителей.

Устранение неполадок

См. Устранение неполадок.

Безопасность

См. Безопасность.

Справочник по самообслуживаемому коннектору

Ссылка на просмотр самостоятельного подключения
Доступность и предварительные условия

Это подключение доступно в качестве самостоятельного самостоятельного подключения. Для использования этого подключения выполните все предварительные условия для самостоятельных подключений.

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

Создайте подключение Zoom

Используйте интерфейс

Чтобы создать новое подключение Zoom:

  1. В интерфейсе Kibana перейдите на страницу Поиск → Содержимое → Подключения из главного меню или используйте поле глобального поиска.
  2. Следуйте инструкциям, чтобы создать новое подключение Zoom для самостоятельного использования.

Использование API

Вы можете использовать Elasticsearch API для создания подключения, чтобы создать новое самостоятельное подключение Zoom для самостоятельного использования.

Например:

resp = client.connector.put(
    connector_id="my-{service-name-stub}-connector",
    index_name="my-elasticsearch-index",
    name="Content synced from {service-name}",
    service_type="{service-name-stub}",
)
print(resp)
const response = await client.connector.put({
  connector_id: "my-{service-name-stub}-connector",
  index_name: "my-elasticsearch-index",
  name: "Content synced from {service-name}",
  service_type: "{service-name-stub}",
});
console.log(response);
PUT _connector/my-zoom-connector
{
  "index_name": "my-elasticsearch-index",
  "name": "Content synced from Zoom",
  "service_type": "zoom"
}
Вам также потребуется создать ключ API для использования подключением.

Пользователь нуждается в правах кластера manage_api_key, manage_connector и write_connector_secrets для программированного создания ключей API.

Чтобы создать ключ API для подключения:

  1. Выполните следующую команду, заменив значения. Обратите внимание на encoded значения возврата из ответа:

    resp = client.security.create_api_key(
        name="connector_name-connector-api-key",
        role_descriptors={
            "connector_name-connector-role": {
                "cluster": [
                    "monitor",
                    "manage_connector"
                ],
                "indices": [
                    {
                        "names": [
                            "index_name",
                            ".search-acl-filter-index_name",
                            ".elastic-connectors*"
                        ],
                        "privileges": [
                            "all"
                        ],
                        "allow_restricted_indices": False
                    }
                ]
            }
        },
    )
    print(resp)
    const response = await client.security.createApiKey({
      name: "connector_name-connector-api-key",
      role_descriptors: {
        "connector_name-connector-role": {
          cluster: ["monitor", "manage_connector"],
          indices: [
            {
              names: [
                "index_name",
                ".search-acl-filter-index_name",
                ".elastic-connectors*",
              ],
              privileges: ["all"],
              allow_restricted_indices: false,
            },
          ],
        },
      },
    });
    console.log(response);
    POST /_security/api_key
    {
      "name": "connector_name-connector-api-key",
      "role_descriptors": {
        "connector_name-connector-role": {
          "cluster": [
            "monitor",
            "manage_connector"
          ],
          "indices": [
            {
              "names": [
                "index_name",
                ".search-acl-filter-index_name",
                ".elastic-connectors*"
              ],
              "privileges": [
                "all"
              ],
              "allow_restricted_indices": false
            }
          ]
        }
      }
    }
  2. Обновите свой config.yml файл с ключом API encoded значением.

Подробную информацию обо всех доступных API подключения см. в документации API Elasticsearch.

Использование

Для использования этого подключения в интерфейсе выберите плитку Команды при создании нового подключения в разделе Поиск → Подключения.

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

Дополнительные операции см. в Интерфейс подключения в Kibana.

Подключение к Zoom

Для подключения к Zoom необходимо создать приложение Server-to-Server OAuth, которое может получать доступ к ресурсам. Следуйте этим шагам:

  1. Перейдите на Zoom App Marketplace и войдите в свою учетную запись Zoom.
  2. Перейдите к сервису "Разработка".
  3. Выберите "Создать приложение" из раскрывающегося меню.
  4. Нажмите кнопку "Приложение Server-to-Server OAuth", чтобы зарегистрировать новое приложение.
  5. Укажите имя приложения.
  6. Нажмите кнопку "Создать", чтобы создать регистрацию приложения.
  7. После завершения регистрации вы будете перенаправлены на страницу обзора приложения. Запишите значение "Данные приложения", так как оно вам понадобится позже.
  8. Перейдите в раздел "Права доступа" и нажмите кнопку "Добавить права доступа".
  9. Следующие детализированные права доступа должны быть добавлены в приложение.

    user:read:list_users:admin
    meeting:read:list_meetings:admin
    meeting:read:list_past_participants:admin
    cloud_recording:read:list_user_recordings:admin
    team_chat:read:list_user_channels:admin
    team_chat:read:list_user_messages:admin

Для извлечения данных в Elasticsearch подключение требует минимального набора прав user:read:list_users:admin.

+ 10. Нажмите кнопку "Готово", чтобы добавить выбранные права доступа к вашему приложению. 11. Перейдите в раздел "Активация" и введите необходимую информацию для активации приложения.

После завершения используйте следующие параметры конфигурации для настройки подключения.

Конфигурация

Требуются следующие поля конфигурации:

Zoom application Account ID

(обязательно) "Идентификатор учетной записи" — уникальный идентификатор, связанный с конкретной учетной записью Zoom на платформе Zoom, найденный на странице обзора приложения. Пример:

  • KVx-aQssTOutOAGrDfgMaA
Zoom application Client ID

(обязательно) "Идентификатор клиента" — уникальный идентификатор, связанный с приложением, интегрированным с платформой Zoom, найденный на странице обзора приложения. Пример:

  • 49Z69_rnRiaF4JYyfHusw
Zoom application Client Secret

(обязательно) "Секрет клиента" — конфиденциальная информация, сгенерированная при регистрации разработчиком приложения на портале разработчиков Zoom для интеграции с платформой Zoom, найденная на странице обзора приложения. Пример:

  • eieiUJRsiH543P5NbYadavczjkqgdRTw
Recording Age Limit (Months)
(обязательно) С какой даты назад запрашивать записи из Zoom. Записи, старше этой даты, не будут индексироваться. Этот параметр конфигурации позволяет определить временной предел, измеряемый в месяцах, для индексирования записей.
Fetch past meeting details
Получить больше информации о предыдущих встречах, включая их детали и участников. Значение по умолчанию — False. Включите эту опцию, чтобы получить детали прошлых встреч. Этот параметр может увеличить время синхронизации.
Развертывание с помощью Docker

Вы можете развернуть подключение Zoom как самостоятельное подключение с помощью Docker. Следуйте этим инструкциям.

Шаг 1: Скачать файл образца конфигурации

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

curl https://raw.githubusercontent.com/elastic/connectors/main/config.yml.example --output ~/connectors-config/config.yml

Не забудьте обновить значение аргумента --output, если имя вашей директории отличается или вы хотите использовать другое имя файла конфигурации.

Шаг 2: Обновление файла конфигурации для вашего самостоятельного подключения

Обновите файл конфигурации следующими настройками, чтобы соответствовать вашей среде:

  • elasticsearch.host
  • elasticsearch.api_key
  • connectors

Если вы запускаете службу подключения к контейнеризованной версии Elasticsearch и Kibana, ваш файл конфигурации будет выглядеть так:

# When connecting to your cloud deployment you should edit the host value
elasticsearch.host: http://host.docker.internal:9200
elasticsearch.api_key: <ELASTICSEARCH_API_KEY>

connectors:
  -
    connector_id: <CONNECTOR_ID_FROM_KIBANA>
    service_type: zoom
    api_key: <CONNECTOR_API_KEY_FROM_KIBANA> # Optional. If not provided, the connector will use the elasticsearch.api_key instead

Использование elasticsearch.api_key — рекомендованный метод аутентификации. Однако вы также можете использовать elasticsearch.username и elasticsearch.password для аутентификации с вашим экземпляром Elasticsearch.

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

Шаг 3: Запуск Docker-образа

Запустите Docker-образ со службой подключения с помощью следующей команды:

docker run \
-v ~/connectors-config:/config \
--network "elastic" \
--tty \
--rm \
docker.elastic.co/enterprise-search/elastic-connectors:8.17.3 \
/app/bin/elastic-ingest \
-c /config/config.yml

См. DOCKER.md в репозитории elastic/connectors для получения дополнительной информации.

Найдите все доступные Docker-образы в официальном репозитории.

У нас также есть быстрый вариант самостоятельного использования с помощью Docker Compose, позволяющий сразу запустить все необходимые службы: Elasticsearch, Kibana и службу подключения. Обратитесь к этому README в репозитории elastic/connectors для получения дополнительной информации.

Извлечение содержимого

См. извлечение содержимого.

Документы и синхронизации

Подключение синхронизирует следующие объекты и сущности:

  • Пользователи
  • Активные встречи
  • Предстоящие встречи
  • Прошедшие встречи
  • Записи
  • Каналы
  • Сообщения чата
  • Файлы чата
  • Содержимое файлов размером более 10 МБ по умолчанию не будет извлекаться. Вы можете использовать самоуправляемую локальную службу извлечения, чтобы обработать большие бинарные файлы.
  • Разрешения не синхронизируются. Все документы, индексированные в развертывании Elastic, будут видны всем пользователям с доступом к этому развертыванию Elastic.
Типы синхронизации

Полные синхронизации поддерживаются по умолчанию для всех коннекторов.

Этот коннектор также поддерживает инкрементные синхронизации.

Правила синхронизации

Базовые правила синхронизации одинаковы для всех коннекторов и доступны по умолчанию.

Расширенные правила синхронизации

Расширенные правила синхронизации недоступны для этого коннектора в текущей версии.

Операции клиента коннектора
Конечные тесты

Фреймворк коннектора позволяет операторам запускать функциональные тесты против реального источника данных. Обратитесь к тестированию коннекторов для получения более подробной информации.

Для выполнения конечных тестов для коннектора Zoom выполните следующую команду:

$ make ftest NAME=zoom

Для более быстрых тестов добавьте флаг DATA_SIZE=small:

make ftest NAME=zoom DATA_SIZE=small
Известные проблемы
  • Встречи: Пользователи могут индексировать только встречи, которые менее чем месяц назад.
  • Сообщения в чате и файлы: Пользователи могут индексировать только чаты и файлы, которые менее 6 месяцев назад.

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

Устранение неполадок

См. устранение неполадок.

Безопасность

См. безопасность.

© 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/es-connectors-zoom.html

Spec-Zone.ru

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