Skip To Content

Получать JSON на WebSocket

Входной коннектор Получать JSON на WebSocket можно использовать для получения и адаптации данных событий, представленных в формате стандартного JSON на WebSocket, обслуживаемом ArcGIS GeoEvent Server. При стандартной конфигурации GeoEvent Server клиенты ожидают подписания и отправки данных на конечную точку в формате wss://<machine_name>.<domain>:6143/path, где path — это значение, описанное в параметре Путь URL входного коннектора.

Этот входной коннектор запускается как сервер, чтобы позволить клиентским приложениям подписывать и отправлять данные на GeoEvent Server. Если вы ищете входной коннектор, который запускается как клиент и подписывается на получение данных, передаваемых с WebSocket сервера, имейте в виду возможность Подписаться на внешний WebSocket для получения JSON.

Данные о событиях, организованные в массив JSON

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

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

  • Используйте этот входной коннектор, чтобы получать данные в формате стандартного JSON через WebSocket, обслуживаемый GeoEvent Server.
  • Этот входной коннектор соединяет в пару входящий адаптер Generic JSON с входящим транспортом WebSocket.
  • Этот входной коннектор запускается как сервер и предоставляет WebSocket, чтобы позволить клиентским приложениям подписывать и отправлять данные на GeoEvent Server.
  • Адаптер интерпретирует общий JSON, отличный от объекта JSON или GeoJSON. Обратите внимание, GeoJSON и объект JSON являются разновидностями стандартного JSON; для обработки этих специальных форматов используются разные адаптеры GeoEvent Server.
  • Дополнительную информацию о структурах JSON см. в блоге Esri Community JSON Data Structures - Working with Hierarchy and Multicardinality.
  • Типичные данные о событиях, организованные как массив JSON, показаны выше.
  • Адаптер обработает обе одиночные записи JSON, организованные в массив.
  • Запись исходного файла JSON не обязательно должна содержать данные, представляющие геометрию.
  • Адаптер поддерживает возможность построения точечной геометрии из атрибутивных значений x, y и z
  • Этим оператором подключения поддерживаются и протокол WebSocket (ws), и WebSocket Secure (wss).
  • Клиенты, отправляющие данные на конечную точку WebSocket, должны использовать ws://<machine_name>.<domain>:6180/path.
  • Этот входной коннектор включает параметр Режим обучения, который может быть полезен, если необходимо разрешить входному коннектору изменять построенное им определение GeoEvent. Цель этого параметра состоит в том, чтобы временно принять те полученные данные о событиях, у которых переменная схема или структура данных. Входной коннектор будет использовать образец полученных записей данных, чтобы узнать больше о переменной структуре данных и добавить новые, ранее не наблюдаемые поля атрибутов к существующему определению GeoEvent.

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

Параметры

Ниже приведены параметры для входного коннектора Получать JSON на WebSocket:

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

Имя

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

URL-путь

Полная конечная точка URL включает протокол, имя хоста или IP-адрес, порт и путь. Для этого коннектора необходимо указать только путь URL. По умолчанию – /ws.

Полный URL, который клиенты используют для подписки, выглядит следующим образом: ws://<machine_name>.<domain>:6180/path или wss://<machine_name>.<domain>:6143/path.

Например, если значение URL-путь указано как /SampleRecords, клиенты, отправляющие данные в безопасный URL WebSocket, будут использовать wss://PS000123.esri.com:6143/SampleRecords для машины с именем PS000123 на домен esri.com.

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

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

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

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

(Условия)

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

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

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

(Условия)

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

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

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

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

Имя объекта JSON

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

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

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

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

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

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

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

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

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