Skip To Content

Следить за появлением новых файлов JSON в папке

Входной коннектор Следить за появлением новых файлов JSON в папке можно использовать для чтения и интерпретации данных событий, отформатированных как универсальный формат JSON, из системного файла. Примеры, иллюстрирующие то, как ArcGIS GeoEvent Server ожидает увидеть форматирование записей данных универсального формата JSON, см. в блоге GeoNet JSON Data Structures - работа с иерархией и мультикардинальностью.

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

Данные событий отформатированы как универсальный формат JSON

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

  • Описываемый входной коннектор используется для чтения данных событий, отформатированных как универсальный файл JSON, из системного файла и их интерпретации для создания записей данных событий с целью дальнейшей обработки.
  • Этот входной коннектор связывает входной адаптер универсального файла JSON с входным транспортом файла.
  • Входной коннектор просматривает указанную системную папку и считывает файл полностью, как только он появляется в папке.
  • Содержимое всего файла будет прочитано заново, если в файл будут внесены и сохранены изменения.
  • Все файлы в просматриваемой папке будут прочитаны заново, если:
    • Свойства входного коннектора было обновлено и сохранено.
    • Входной коннектор был остановлен и перезапущен (был перезапущен сервис ArcGIS GeoEvent Server).
  • Запись в универсальном файле JSON не обязательно должна содержать данные, представляющие геометрию.
  • Адаптер поддерживает возможность построения точечной геометрии из атрибутивных значений X, Y и Z.
  • Зарегистрированная папка сервера Входная папка хранилища данных может быть задана с помощью абсолютного или относительного пути. Если используется относительный путь, учетной записи службы Windows, под которой запущен GeoEvent Server, требуется разрешение на чтение/запись в папку.
  • Рекомендуется использовать абсолютные пути, например C:\GeoEvent\input для свойства Входная папка хранилища данных.
  • Входная папка позволяет указать подпапку связанную с зарегистрированной папкой сервера.
  • Включить подпапки позволяет указать, следует ли рекурсивно искать папки во Входной папке хранилища данных. Часто хранение данных с различными схемами в разных папках и изменение параметра Включить подпапки со значения по умолчанию на опцию отключения рекурсивного поиска позволяет задать более прямую и простую конфигурацию этого входного коннектора.
  • Этот входной коннектор включает Режим обучения, который может быть полезен, если необходимо разрешить входному коннектору изменять построенное им определение GeoEvent. Целью этого свойства является временное принятие того, что полученные данные события будут иметь переменную схему или структуру данных. Входной коннектор будет использовать образец полученных записей данных, чтобы узнать больше о переменной структуре данных и добавить новые, ранее ненаблюдаемые поля атрибутов к существующему определению GeoEvent.

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

  • Ожидание сети может отрицательно повлиять на способность GeoEvent Server извлекать большие объемы данных событий.

Параметры

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

Имя

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

Входная папка хранилища данных

Зарегистрированная системная папка, в которой будут искаться файлы.

Входная директория

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

Фильтр входных файлов

Шаблон регулярных выражений, используемый для идентификации файлов, подходящих для входных данных в этом случае, и адаптации для создания записей данных событий для обработки. По умолчанию .*\.json, которое соответствует любому имени файла (.*), заканчивающегося буквенным суффиксом (.json).

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

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

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

Включить вложенные папки

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

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

Удалить файлы после обработки

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

  • Да – файл(ы) будет удален из зарегистрированной системной папки после обработки.
  • Нет – файл(ы) не будет удален из зарегистрированной системной папки после обработки.

Файлы, не удаленные, будут перечитаны с начала файла, если свойства входного коннектора изменены и сохранены или если поток входных данных остановлен и перезапущен, например, если перезапущен сервис ArcGIS GeoEvent Server.

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

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

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

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

(Условия)

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

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

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

(Условия)

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

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

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

Шаблон, используемый для соответствия ожидаемым строковым представлениям значений даты / времени и преобразования их в значения даты 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 знал, как следует адаптировать значения даты/времени.

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

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

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

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

(Условия)

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

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

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

(Условия)

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

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

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

(Условия)

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

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

Имя объекта JSON

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

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

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

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

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

Является текстом файла

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

  • Да – файл в текстовом формате.
  • Нет – файл в бинарном формате.

Максимальное число строк на пакет

(Условия)

Максимальное количество строк для чтения из файла в каждом пакете или интервале. По умолчанию – 1000 строк. Уменьшите это значение, если каждая запись события содержит много атрибутов для ограничения объема данных, отправляемых текстовому адаптеру в виде пакета.

Это свойство показывается, когда для Является текстом файла задано значение Да, и скрыто, если выбрано значение Нет

Интервал записи пакета (миллисекунды)

(Условия)

Количество миллисекунд ожидания перед чтением очередного пакета строк из файла. Значение по умолчанию равно 500. Уменьшите это значение, если ожидается, что размер файла будет очень большим и/или потребуется дополнительное время для обработки каждой партии строк, извлеченных из файла.

Это свойство показывается, когда для Является текстом файла задано значение Да, и скрыто, если выбрано значение Нет

Число строк, пропускаемых от начала файла

(Условия)

Число строк, которые пропускаются от начала файла. Значение по умолчанию равно 0. Увеличьте это значение, если требуется пропустить определенное количество строк, например, строки заголовка, указывающие имена полей атрибутов или типы данных, поскольку они не содержат фактических данных для обработки.

Это свойство показывается, когда для Является текстом файла задано значение Да, и скрыто, если выбрано значение Нет

Как GeoJSON

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

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

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