Входной коннектор Kafka Topic for JSON может использоваться для извлечения и адаптации записей данных событий, отформатированных как JSON, с Apache Kafka® Topic. Для получения информации о работе с Apache Kafka® см. раздел Об Apache Kafka.
Примечания по использованию
- Используйте этот входной коннектор для получения данных 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.
Параметры
Параметр | Описание |
---|---|
Имя | Описательное имя входного коннектора, используемое для справки в GeoEvent Manager. |
Заменить пользовательскими свойствами Kafka | Укажите, следует ли переопределять свойства клиента Kafka GeoEvent Server по умолчанию. По умолчанию Нет.
|
Серверы Kafka Bootstrap (Условия) | Список пар hostname:port, используемый для установки исходного подключения к кластеру Kafka. Пары hostname:port должны быть разделены запятыми, например:
Свойство показывается, когда для свойства Заменить пользовательскими свойствами Kafka задано Нет. |
Названия тем | Имя темы Kafka или список тем Kafka для потребления интересных тем. Несколько тем должны быть разделены точкой с запятой.
Примечание:Возможность указать несколько тем 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 задано Да. |
Начать с начала | Указывает, будут ли записи взяты из раздела, начинающегося с начального смещения, или из последнего смещения, зафиксированного для потребителя. По умолчанию – Да.
Примечание:Дополнительные сведения о смещениях см. в разделе О настройке Apache Kafka. |
Имя объекта JSON | Имя элемента JSON, который может использоваться в качестве корневого узла подструктуры в пределах полученных данных JSON. Когда Имя объекта JSON используется для указания элемента JSON по имени, адаптер будет искать подструктуры, имя объекта которых соответствует указанному имени элемента. Будут рассмотрены только данные в пределах идентифицированной подструктуры. Если оставить пустым, что является значением по умолчанию, верхний объект JSON используется в качестве корня всей структуры JSON. |
Создать определение GeoEvent | Указывает, следует ли использовать новое или существующее Определение GeoEvent для данных входящих событий. Определение GeoEvent требуется для GeoEvent Server для понимания полей атрибутов и типов данных входящих событий.
|
Имя определения GeoEvent (новое) (Условия) | Имя, которое присваивается для нового Определения GeoEvent. Если определение GeoEvent с указанным именем уже существует, будет использоваться существующее определение GeoEvent. Первая полученная запись данных будет использоваться для определения ожидаемой схемы последующих записей данных, на основе которой будет создано новое определение GeoEvent. Это свойство показывается, когда для свойства Создать определение GeoEvent задано значение Да, и скрыто, если выбрано значение Нет |
Имя определения GeoEvent (существующее) (Условия) | Имя существующего определения GeoEvent для использования при адаптации полученных данных для создания данных событий для обработки сервисом GeoEvent. Это свойство показывается, когда для свойства Создать определение GeoEvent задано значение Нет, и скрыто, если выбрано значение Да |
Построить геометрию из полей | Указывает, должен ли входной коннектор создавать геометрию точки, используя значения координат, полученные в качестве атрибутов. По умолчанию Нет.
|
Поле геометрии X (Условия) | Поле атрибута в данных входящего события, содержащее координатную часть X (например, горизонталь или долготу) местоположения точки. Это свойство показывается, когда для Построить геометрию из полей задано значение Да, и скрыто, если выбрано значение Нет |
Поле геометрии Y (Условия) | Поле атрибута в данных входящего события, содержащее координатную часть Y (например, вертикаль или широту) местоположения точки. Это свойство показывается, когда для Построить геометрию из полей задано значение Да, и скрыто, если выбрано значение Нет |
Поле геометрии Z (Условия) | Имя поля в данных входящего события, содержащего координатную часть Z (например, глубина или высота) местоположения точки. Если оставить пустым, значение Z будет опущено и будет построена 2D геометрия точки. Это свойство показывается, когда для Построить геометрию из полей задано значение Да, и скрыто, если выбрано значение Нет |
Режим Обучение | Указывает, активен или отключен Режим обучения. Если для режима обучения установлено значение Да, входящий адаптер добавит новые поля к определению GeoEvent, которое он создал и поддерживает.
Режим обучения может быть полезен, если необходимо разрешить входному коннектору изменять построенное им определение GeoEvent. Цель этого свойства состоит в том, чтобы временно принять те полученные данные о событиях, у которых переменная схема или структура данных. Входной коннектор будет использовать образец полученных записей данных, чтобы узнать больше о переменной структуре данных и добавить новые, ранее ненаблюдаемые поля атрибутов к существующему определению GeoEvent. Целью этого свойства является временное принятие того, что полученные данные события будут иметь переменную схему или структуру данных. Если во входных данных событий ожидается изменение схемы, рекомендуется использовать Режим обучения максимально непродолжительное время, чтобы создать определение GeoEvent Definition, которое поддерживает все ожидаемые варианты входных данных. Затем режим обучения можно отключить, а автоматически созданное определение GeoEvent скопировать и адаптировать для производственного развертывания. |
Пространственная привязка по умолчанию | Известный идентификатор (WKID) пространственной привязки, используемый при построении геометрии из значений полей атрибутов, координаты которых не являются значениями широты и долготы для предполагаемой географической системы координат WGS84, или строки геометрии, не включающие пространственную привязку. Также может быть указано известное текстовое значение (WKT) или имя поля атрибута, содержащего WKID или WKT. |
Ожидаемый формат данных | Шаблон, используемый для соответствия ожидаемым строковым представлениям значений даты / времени и преобразования их в значения даты Java. Формат шаблона следует нормам для класса Java SimpleDateFormat. У этого свойства нет значения по умолчанию. GeoEvent Server предпочитает, чтобы значения даты/времени выражались в стандарте ISO 8601, но несколько строковых представлений значений даты/времени, обычно распознаваемых как значения даты, могут быть преобразованы в значения даты Java без указания Ожидаемого формата даты. В том числе:
Если полученные значения даты/времени выражены с помощью формата, отличного от одного из пяти, показанных выше, необходимо указать Ожидаемый формат даты, чтобы GeoEvent Server знал, как следует адаптировать значения даты/времени. |
Как GeoJSON | Указывает, следует ли анализировать входящую геометрию как объект GeoJSON geometry, а не как объект JSON. По умолчанию предполагается, что при получении геометрии в виде строки значением будет объект JSON, как описано в Объектах Geometry.
|
Необходима аутентификация | Указывает, требуется ли аутентификация при подключению к кластеру Kafka, или брокеру Kafka. По умолчанию Нет.
|
Аутентификация с использованием (Условия) | Указывает протокол безопасности, используемый для защиты кластера Kafka. Доступные протоколы безопасности включают TLS 1.2 и SASL.
Примечание:Используя 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. |
Участник Kerberos (Условия) | Участник Kerberos для определенного пользователя. Пример:
Свойство показывается, когда для свойства Требуется аутентификация задано Да. Это свойство применимо только к протоколу SASL/GSSAPI (Kerberos). |
Использовать Key Tab (Условия) | Указывает, следует ли использовать keytab в настройках Kerberos. По умолчанию – Да.
Свойство показывается, когда для свойства Требуется аутентификация задано Да. Это свойство применимо только к протоколу SASL/GSSAPI (Kerberos). |
Хранить ключ (Условия) | Указывает, следует ли хранить ключ в настройках Kerberos. По умолчанию – Да.
Свойство показывается, когда для свойства Требуется аутентификация задано Да. Это свойство применимо только к протоколу SASL/GSSAPI (Kerberos). |
Имя пользователя (Условия) | Указывает Имя пользователя, используемое для аутентификации в кластере Kafka. Также известен как строка подключения с определенными провайдерами облачных ресурсов. Обратитесь к документации выбранного провайдера облачных услуг для получения правильного синтаксиса. Свойство показывается, когда для свойства Требуется аутентификация задано Да. Это свойство применимо только к протоколу SASL/PLAIN. |
Пароль (Условия) | Указывает пароль, используемый для аутентификации в кластере Kafka. Обратитесь к документации выбранного провайдера облачных услуг для получения правильного синтаксиса. Свойство показывается, когда для свойства Требуется аутентификация задано Да. Это свойство применимо только к протоколу SASL/PLAIN. |
Советы и ограничения
- Неправильные работа и оптимизация потребителей приведут к тому, что в некоторых случаях входной коннектор Подписаться на Kafka Topic for JSON не получит никаких данных. Количество потребителей в группе ограничено количеством разделов Kafka topic. Если число потребителей в группе превышает количество разделов, доступных на Kafka topic, избыточные потребители не будут потреблять данные. Чтобы этого не допустить, рассмотрите возможность оптимизации числа потребителей для лучшего соответствия числу разделов в Kafka topic или добавления разных групп потребителей для каждого коннектора. Для получения подробной информации о потребителях и группах потребителей обратитесь к Документации Kafka.
- Входной коннектор Подписаться на Kafka Topic for JSON - клиент-потребитель Kafka. Такие же соображения могут быть применены к этому входному коннектору и потребуются для любого другого клиента-потребителя Kafka. Например, если этот входной коннектор не получает никаких данных из Kafka topic, а является отдельным клиентом Kafka, учитывайте факторы, связанные с наличием двух клиентов-потребителей. Это касается, в том числе, указанного идентификатора группы потребителей, количества разделов, доступных для topic, и числа существующих потребителей. В качестве альтернативы, если входной коннектор остановлен и запущен в быстрой последовательности, учитывайте последствия для Kafka с точки зрения потребителя. Перебалансировка разделов темы Kafka может помешать немедленному воссоединению входного коннектора в качестве потребителя в той же группе.