Skip To Content

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

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

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

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

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

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

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

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

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

Параметры

Ниже приведены параметры для входного коннектора c Следить за появлением новых файлов JSON в папке:

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

Имя

Описательное имя входного коннектора, используемое для ссылки в 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.

Считать файл в виде текстовых строк

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

  • Да - Содержание файла будет прочитан и проанализирован, как отдельные строки текста.
  • Нет - Весь файл будет прочитан и проанализирован, как полный документ.

При работе с текстовым файлом с одним или несколькими объектами массива JSON рекомендуется читать содержимое файла целиком, а не отдельные строки текста в файле. Документы JSON лучше всего читать как единый документ.

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

(Условия)

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

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

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

(Условия)

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

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

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

(Условия)

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

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

Как GeoJSON

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

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

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