Skip To Content

Коннектор Подписаться на Kafka Topic для JSON

Входной коннектор Подписаться на Kafka Topic для JSON может использоваться для извлечения и адаптации записей данных событий, отформатированных как JSON, с Kafka Topic. Для получения информации о работе с Apache Kafka см. раздел Введение в Apache Kafka.

Примечания по использованию

При работе с входным коннектором Подписаться на Kafka Topic для JSON имейте в виду следующее:

  • Используйте этот входной коннектор для получения данных с Kafka Topic. Этот входной коннектор — потребитель Kafka.
  • Этот входной оператор подключения соединяет в пару входящий адаптер Generic-JSON с входящим транспортом Kafka.
  • Адаптер интерпретирует стандартный JSON, в отличие от объекта JSON или GeoJSON.
  • Запись исходного файла JSON не обязательно должна содержать данные, представляющие геометрию.
  • Адаптер обработает обе одиночные записи JSON, организованные в массив.
  • Адаптер поддерживает возможность построения точечной геометрии из атрибутивных значений x, y и z
  • Этот входной коннектор включает параметр Режим обучения, который может быть полезен, если необходимо разрешить входному коннектору изменять построенное им определение GeoEvent. Цель этого параметра состоит в том, чтобы временно принять те полученные данные о событиях, у которых переменная схема или структура данных. Входной коннектор будет использовать образец полученных записей данных, чтобы узнать больше о переменной структуре данных и добавить новые, ранее не наблюдаемые поля атрибутов к существующему определению GeoEvent.
  • Возможность изменения определения GeoEvent "на лету" может отрицательно повлиять на проект анализа в режиме реального времени в сервисе GeoEvent. Если во входных данных событий ожидается изменение схемы, рекомендуется использовать режим обучения максимально непродолжительное время, чтобы создать определение GeoEvent Definition, которое поддерживает все ожидаемые варианты входных данных. Затем режим обучения можно отключить, а автоматически созданное определение GeoEvent скопировать и адаптировать для производственного развертывания.
  • Входящий транспорт Kafka поддерживает протоколы безопасности TLS 1.2 и SASL для аутентификации с помощью кластера или брокера Kafka.

Параметры

Ниже приведены параметры для входного коннектора Подписаться на Kafka Topic для JSON:

ПараметрОписание

Имя

Описательное имя входного коннектора, используемое для ссылки в GeoEvent Manager.

Заменить пользовательскими свойствами Kafka

Указывает, заменяются ли свойства клиента GeoEvent Server Kafka по умолчанию. По умолчанию Нет.

  • Да – свойства клиента Kafka по умолчанию, предоставляемые транспортом, заменяются. Необходимо указать папку, зарегистрированную на GeoEvent Server, содержащую файл Kafka .properties с правильным форматированием для допустимой конфигурации Kafka. См. раздел Конфигурация Apache Kafka для получения списка поддерживаемых конфигураций и ожидаемого форматирования для указанного файла .properties.
  • Нет – Свойства клиента Kafka по умолчанию, предоставляемые транспортом, не заменяются. Значения Серверы Kafka Bootstrap и ID группы потребителей должны быть указаны.

Серверы Kafka Bootstrap

(Условия)

Список пар hostname:port, используемых для установки исходного подключения к кластеру Kafka. Пары Hostname:port должны быть разделены запятыми, например, broker0.example.com:9092,broker1.example.com:9092,broker2.example.com:9092.

Этот параметр показывается, когда для свойства Заменить пользовательскими свойствами Kafka задано Нет.

Названия тем

Название темы Kafka или список тем Kafka, из которых будут использоваться интересующие данные. Разделяйте несколько тем точкой с запятой. Ниже приведены примеры:

  • topic1
  • topic1;topic2;topic3;topic4

Примечание:

Указание нескольких тем Kafka поддерживается в ArcGIS GeoEvent Server 10.8 и более поздних версиях.

Число пользователей

Число пользователей для каждой группы пользователей. Число пользователей по умолчанию равно 1.

Примечание:

Число пользователей ограничено количеством разделов в Kafka topic. См. Введение в Apache Kafka для получения дополнительной информации о примерах пользователей.

ID группы потребителей

(Условия)

Необязательная строка, которая однозначно идентифицирует группу потребителей для набора потребителей. Он также известен как название группы потребителей.

Если ID группы потребителей не указан, GeoEvent Server назначает статические ID группы потребителей, называемые ID geoevent-потребителей. Этот статический ID группы потребителей является общим для всех экземпляров коннекторов Kafka, когда ID группы потребителей не указан.

Рекомендуется указывать пользовательский ID группы потребителей. См. Введение в Apache Kafka для получения дополнительной информации о группах потребителей.

Этот параметр показывается, когда для свойства Заменить пользовательскими свойствами Kafka задано Нет.

Зарегистрированная папка для файла свойств Kafka

(Условия)

Папка, зарегистрированная на GeoEvent Server, содержащая файл Kafka .properties. Файл Kafka .properties определяет пользовательские свойства Kafka, когда для параметра Заменить пользовательскими свойствами Kafka установлено Да. Убедитесь, что папка, зарегистрированная на GeoEvent Server, является полным путем к местоположению файла Kafka.properties.

Этот параметр показывается, когда для свойства Заменить пользовательскими свойствами Kafka задано Да.

Имя файла свойств Kafka

(Условия)

Имя файла Kafka .properties, содержащего пользовательские свойства Kafka для конфигурации клиента. Укажите имя файла без расширения .properties.

  • Если имя пользовательского файла свойств Kafka является sample.properties, укажите это значение параметра как sample.

Этот параметр показывается, когда для свойства Заменить пользовательскими свойствами Kafka задано Да.

Начать с начала

Указывает, будут ли записи взяты из раздела, начинающегося с начального смещения, или из последнего смещения, зафиксированного для потребителя. По умолчанию – Да.

  • Да – записи берутся из раздела, начинающегося с начального смещения.
  • Нет – записи берутся из последнего совершенного смещения.

Примечание:

Дополнительные сведения о смещениях см. в разделе Настройка Apache Kafka.

Имя объекта JSON

Имя элемента JSON, который может использоваться в качестве корневого узла подструктуры в пределах полученных данных JSON. Когда Имя объекта JSON используется для указания элемента JSON по имени, адаптер ищет подструктуры, имя объекта которых соответствует указанному имени элемента. Рассматриваются только данные в пределах идентифицированной подструктуры. Если оставить пустым, что является значением по умолчанию, верхний объект JSON используется в качестве корня всей структуры JSON.

Создать определение GeoEvent

Указывает, используется ли новое или существующее определение GeoEvent для данных входящих событий. Определение GeoEvent требуется GeoEvent Server, чтобы понимать поля атрибутов и типы данных входящих событий.

  • Да – новое определение GeoEvent создается на основе схемы первой полученной записи события.
  • Нет - определение GeoEvent не создается. Выберите существующее определение GeoEvent, соответствующее схеме данных входящего события.

Имя определения GeoEvent (новое)

(Условия)

Имя, которое присваивается для нового Определения GeoEvent. Если определение GeoEvent с указанным именем уже существует, используется существующее определение GeoEvent. Первая полученная запись данных используется для определения ожидаемой схемы последующих записей данных, на основе которой создается новое определение GeoEvent.

Этот параметр показывается, когда для свойства Создать определение GeoEvent задано значение Да, и скрыто, если задано значение Нет.

Имя определения GeoEvent (существующее)

(Условия)

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

Этот параметр показывается, когда для свойства Создать определение GeoEvent задано значение Нет, и скрыто, если задано значение Да.

Построить геометрию из полей

Указывает, будет ли входной коннектор создавать геометрию точки, используя значения координат, полученные в качестве атрибутов. По умолчанию Нет.

  • Да – значения из указанных полей атрибутов событий используются для построения геометрии точек.
  • Нет – геометрия точек не строится. Предполагается, что поле атрибута содержит значение, которое может быть интерпретировано как геометрия, или запись события является непространственной (не имеет геометрии).

Поле геометрии X

(Условия)

Поле атрибута в данных входящего события, содержащее координатную часть X (например, горизонталь или долготу) местоположения точки.

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

Поле геометрии Y

(Условия)

Поле атрибута в данных входящего события, содержащее координатную часть Y (например, вертикаль или широту) местоположения точки.

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

Поле геометрии Z

(Условия)

Поле атрибута в данных входящего события, содержащего координатную часть Z (например, глубина или высота) местоположения точки. Если значение не предоставлено, значение z опускается и строится 2D геометрия точки.

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

Режим Обучение

Указывает активен или недоступен Режим обучения. Если для Режим обучения задано значение Да, входящий адаптер добавляет новые поля к определению GeoEvent, которое он создал и поддерживает.

  • Да – режим обучения активен. Определение GeoEvent обновляется новыми полями из записей событий, использующих разные схемы.
  • Нет – режим обучения недоступен. Определение GeoEvent не изменяется.

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

Возможность изменить определение GeoEvent на лету может негативно повлиять на дизайн аналитики в режиме реального времени в сервисе GeoEvent. Если во входных данных события ожидается изменение схемы, рекомендуется, по возможности, использовать Режим обучения непродолжительное время, чтобы создать определение GeoEvent, которое поддерживает все ожидаемые варианты входящих данных. Затем Режим обучения можно отключить, а автоматически созданное определение GeoEvent скопировать и адаптировать для производственного развертывания.

Пространственная привязка по умолчанию

Известный идентификатор (WKID) пространственной привязки, используемый при построении геометрии из значений полей атрибутов, координаты которых не являются значениями широты и долготы для предполагаемой географической системы координат WGS84, или когда получены строки геометрии, не содержащие пространственной привязки. Также может быть указано известное текстовое значение (WKT) или имя поля атрибута, содержащего WKID или WKT.

Ожидаемый формат данных

Шаблон, используемый для соответствия ожидаемым строковым представлениям значений даты/времени и преобразования их в значения даты Java. Формат шаблона следует нормам для класса Java SimpleDateFormat.

Хотя предпочтительным шаблоном для значений даты/времени в GeoEvent Server является стандарт ISO 8601, несколько строковых представлений значений даты/времени, обычно распознаваемых как значения даты, могут быть преобразованы в значения даты Java без указания значения Ожидаемого формата даты. К ним относятся:

  • "2019-12-31T23:59:59" – формат стандарта ISO 8601
  • 1577836799000 – дата Java (epoch long integer; UTC)
  • "Tue Dec 31 23:59:59 -0000 2019" – общий строковый формат веб-сервисов
  • "12/31/2019 11:59:59 PM" – общий формат, используемый в США (12 часов)
  • "12/31/2019 23:59:59" – общий формат, используемый в США (24 часа)

Если полученные значения даты/времени используют соглашение, отличное от перечисленных выше, необходимо указать ожидаемый шаблон формата даты, чтобы GeoEvent Server мог адаптировать значения даты/времени.

Как GeoJSON

Указывает, следует ли анализировать входящую геометрию как объект геометрии GeoJSON, а не как объект JSON. По умолчанию предполагается, что при получении геометрии в виде строки значением будет объект JSON, как описано в разделе Объекты геометрии.

  • Да – входящая геометрия анализируется как GeoJSON, а не как объект JSON.
  • Нет – предполагается, что полученные строковые представления геометрии являются объектом JSON.

Необходима аутентификация

Указывает, требуется ли аутентификация для подключения к кластеру Kafka или брокеру Kafka. По умолчанию Нет.

  • Да – для подключения к кластеру или брокеру Kafka требуется аутентификация.
  • Нет – Для подключения к кластеру или брокеру Kafka аутентификация не требуется.

Аутентификация с использованием

(Условия)

Указывает протокол безопасности, используемый для защиты кластера Kafka. Варианты протоколов безопасности: TLS 1.2 и SASL.

  • TLS 1.2 – кластером Kafka используется протокол безопасности TLS 1.2. Убедитесь, что файл PKI кластера Kafka (сертификат x509) импортирован в доверенное хранилище машины ArcGIS Server, с которым настроен ArcGIS GeoEvent Server. Дополнительные сведения см. в разделе Импорт сертификата в ArcGIS Server в руководстве Настройка ArcGIS Server с существующим сертификатом центра сертификации (CA) для получения конкретных инструкций по импорту сертификатов.
  • SASL – кластер Kafka использует протокол безопасности SASL. Поддерживаются только SASL, SSL и Kerberos.

Примечание:

Используя Kerberos, убедитесь, что у учетной записи операционной системы, от имени которой запущен ArcGIS GeoEvent Server, есть права на чтение файла keytab в настройке и конфигурации Kerberos.

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да.

Зарегистрированная папка для файла учетных данных

(Условия)

Папка, зарегистрированная в GeoEvent Server, которая содержит файл PKI кластера Kafka (сертификат x509). Убедитесь, что папка, зарегистрированная на GeoEvent Server, является полным путем к местоположению сертификата кластера Kafka.

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Это применимо только к протоколу TLS 1.2.

Файл конфигурации учетных данных

(Условия)

Имя файла PKI кластера Kafka (сертификат x509). Сертификат и связанный с ним ключ должны храниться в формате PKCS#12, который представлен файлом с расширением .p12 или .pfx. Укажите имя файла в дополнении к расширению.

Примечание:

Для этого параметра поддерживаются только имя файла сертификата и расширение. Не указывайте относительные пути к сертификату для этого параметра. Зарегистрируйте полный путь к файлу сертификата с помощью параметра Зарегистрированная папка для файла учетных данных.

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Это применимо только к протоколу TLS 1.2.

Пароль Keystore

(Условия)

Пароль для файлв PKI кластера Kafka (сертификат x509). Он также известен как личный ключ сертификата.

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Параметр применим только к протоколу TLS 1.2

Тип аутентификации SASL

(Условия)

Определяет тип механизма аутентификации SASL, поддерживаемого кластером Kafka. Опции типа аутентификации SASL: SASL GSSAPI (Kerberos) и SASL PLAIN.

  • SASL/GSSAPI (Kerberos) – Кластер Kafka использует аутентификацию SASL/GSSAPI Kerberos.
  • SASL/PLAIN – Кластер Kafka использует аутентификацию SASL/PLAIN.

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Это применимо только к протоколу SASL.

Участник Kerberos

(Условия)

Участник Kerberos для определенного пользователя, например, GeoEventKafkaClient1@example.com.

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Параметр применим только к протоколу SASL/GSSAPI (Kerberos).

Использовать Key Tab

(Условия)

Указывает, используется ли key tab в настройках Kerberos. По умолчанию – Да.

  • Да — key tab используется в настройках Kerberos.
  • Нет – key tab не используется в настройках Kerberos.

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Это применимо только к протоколу SASL/GSSAPI (Kerberos).

Хранить ключ

(Условия)

Указывает, хранится ли ключ в настройках Kerberos. По умолчанию – Да.

  • Да – Ключ хранится в настройках Kerberos.
  • Нет – Ключ не хранится в настройках Kerberos.

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Это применимо только к протоколу SASL/GSSAPI (Kerberos).

Имя пользователя

(Условия)

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

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Это применимо только к протоколу SASL/PLAIN.

Пароль

(Условия)

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

Этот параметр показывается, когда для свойства Требуется аутентификация задано Да. Этот параметр применим только к протоколу SASL/PLAIN.

Советы и ограничения

При использовании входного коннектора Подписаться на Kafka Topic для JSON имейте в виду следующее:

  • Неправильные работа и оптимизация потребителей приведут к тому, что в некоторых случаях входной коннектор Подписаться на Kafka Topic для JSON не получит никаких данных. Количество потребителей в группе ограничено количеством разделов Kafka Topic. Если число потребителей в группе превышает количество разделов, доступных на Kafka Topic, избыточные потребители не будут потреблять данные. Чтобы этого не допустить, рассмотрите возможность оптимизации числа потребителей для лучшего соответствия числу разделов в Kafka Topic, или добавления разных групп потребителей для каждого коннектора. Для получения подробной информации о потребителях и группах потребителей обратитесь к Документации Kafka.
  • Входной коннектор Подписаться на Kafka Topic для JSON — клиент-потребитель Kafka. Такие же соображения могут быть применены к этому входному коннектору и потребуются для любого другого клиента-потребителя Kafka. Например, если этот входной коннектор не получает никаких данных из Kafka Topic, а является отдельным клиентом Kafka, учитывайте факторы, связанные с наличием двух клиентов-потребителей. Это касается, в том числе, указанного ID группы потребителей, количества разделов, доступных для Topic, и числа существующих потребителей. В качестве альтернативы, если входной коннектор остановлен и запущен в быстрой последовательности, учитывайте последствия для Kafka с точки зрения потребителя. Перебалансировка разделов Kafka Topic может помешать немедленному воссоединению входного коннектора в качестве потребителя в той же группе.