Skip To Content

Опрос внешнего веб-сайта на наличие JSON

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

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

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

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

  • Используйте этот входной коннектор для запроса с веб-сервера или веб-сервиса данных, форматированных как JSON, и их адаптации для создания записей данных событий для обработки.
  • Этот входной оператор подключения соединяет в пару Входящий адаптер Generic JSON с Входящим транспортом HTTP.
  • Адаптер интерпретирует стандартный JSON, в отличие от объекта JSON или GeoJSON.
  • Запись в универсальном файле JSON не обязательно должна содержать данные, представляющие геометрию.
  • Типичные данные о событиях, организованные как массив JSON, показаны выше.
  • Адаптер обработает обе одиночные записи JSON, организованные в массив.
  • Метод HTTP задает тип запроса HTTP, использующегося для запроса данных с веб-сервиса. По умолчанию применяется запрос HTTP/GET.
  • Адаптер поддерживает возможность построения точечной геометрии из атрибутивных значений X, Y и Z.
  • Параметры запросы можно настроить с помощью свойства Параметры, чтобы более точно отобрать интересующие данные.
  • Настройка параметров запроса как части запроса HTTP/GET может повысить производительность, т.к. уменьшит число возвращаемых элементов.
  • Имя и значения определенного параметра запроса зависит от поддержки запросов внешним веб-сервисом.
  • Для этого входного коннектора предполагается, что внешний веб-сервер или веб-сервис принимают запросы HTTP/GET не требуя аутентификации. Если внешние веб-сайты требуют аутентификацию, можно создать собственный входной коннектор, который спаривает Generic JSON Inbound Adapter с HTTP Inbound Transport, поддерживающий базовую, сертифицированную или OAuth аутентификацию.
  • Свойство Получать только новые данные используется, чтобы при запросе лента возвращала только ранее не просмотренные или только что обновленные данные. Эта возможность зависит от правильности включения потоком параметра Last-Modified в заголовок ответа на запрос HTTP. Если в заголовке ответа не указывается дата/время последнего обновления, GeoEvent Server предполагает, что данные в ответе представляют новые или обновленные данные. Более подробно об использовании Last-Modified в заголовках ответов в спецификации RFC 7232 HTTP.
  • Этот входной коннектор включает Режим обучения, который может быть полезен, если необходимо разрешить входному коннектору изменять построенное им определение GeoEvent. Цель этого свойства состоит в том, чтобы временно принять те полученные данные о событиях, у которых переменная схема или структура данных. Входной коннектор будет использовать образец полученных записей данных, чтобы узнать больше о переменной структуре данных и добавить новые, ранее не наблюдаемые поля атрибутов к существующему определению GeoEvent.

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

Параметры

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

Имя

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

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

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

URL-адрес

Базовый URL внешнего веб-сайта, содержащего данные JSON. GeoEvent Server отправляет запрос на URL-адрес для извлечения данных JSON.

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

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

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

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

(Условия)

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

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

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

(Условия)

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

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

Метод HTTP

Метод HTTP-запроса, который применяется, когда GeoEvent Server опрашивает внешний сервер, предоставляющий поток данных. По умолчанию применяется запрос HTTP/GET.

  • GETGeoEvent Server отправит запрос GET.
  • POSTGeoEvent Server отправит запрос POST.
  • PUTGeoEvent Server отправит запрос PUT.

Технически, в запросе всегда должен использоваться HTTP/GET при обращении к данным веб-сервера или веб-сервиса. Изменение этого параметра на POST или PUT открывает другие параметры, которые не относятся к данному входному коннектору

Запрос Post от

Тело запроса Post

Тип MIME тела сообщения

Параметры запроса Post

(Условия)

Эти свойства скрыты по умолчанию, когда для свойства Метод HTTP выбран Получить.

Более подробную информацию см. в разделе Ограничения ниже.

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

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

Получать только новые данные

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

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

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

Подробнее о использовании настройки Последний измененный в заголовке запросов см спецификацию RFC 7232 HTTP.

Допустимые типы MIME (режим сервера)

Определяет типы MIME, которые будет принимать входной оператор подключения. Для разделения значений используйте запятые, например: text/plain,application/xml,text/xml. Типы MIME обычно состоят из структуры типа/подтипа и используются, когда серверу нужно указать тип(ы) интернет-медиа данных, которые он будет получать от клиента. По умолчанию используется application/json, который является официальным типом MIME для обмена JSON между клиентом и сервером.

Подробнее об официальных типах MIME см. Internet Assigned Numbers Authority (IANA). Подробнее о типах MIME, которые не используются ArcGIS Server, см. Типы MIME, не используемые ArcGIS Server.

Частота (в секундах)

Интервал (в секундах), по истечение которого внешний веб-сервер или веб-сервис будет опрошен для получения данных. Значение по умолчанию – 10 секунд (один запрос сбора данных будет выполнен каждые 10 секунд).

Имя параметра заголовка:Список значений

Параметры, включаемые в HTTP-заголовок запроса при опросе внешнего веб-сервера или веб-сервиса. Параметры заголовка должны быть заданы с помощью пар Имя: Значение (включая двоеточие), разделенных запятыми.

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

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

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

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

(Условия)

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

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

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

(Условия)

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

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

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

(Условия)

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

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

Имя объекта JSON

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

Параметры

Задает параметр запроса (или несколько параметров запроса) для присоединения к базовому URL. Параметры запроса будут разными для каждого веб-сервиса и поддерживаются не всеми сервисами. Если поддерживаются, параметры запроса помогают указать данные, представляющие особый интерес. У этого свойства нет значения по умолчанию. Параметры запроса, как правило, включены в свойство URL.

Использовать URL-адрес прокси

Указывает, будет ли GeoEvent Server использовать URL-адрес прокси при выполнении HTTP-запросов. По умолчанию Нет.

  • ДаGeoEvent Server будет использовать указанный прокси-сервер при отправке запроса на URL-адрес внешнего сервиса.
  • НетGeoEvent Server не будет использовать URL-прокси-сервера. Доступ к базовому URL будет выполняться напрямую.

URL-адрес прокси

(Условия)

URL прокси для использования в время запроса HTTP. У этого свойства нет значения по умолчанию.

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

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

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

Допустимые типы MIME (режим клиента)

(Условия)

Указывает типы MIME, которые этот коннектор будет принимать при получении ответа на запрос к каналу данных. Ответ внешнего веб-сервиса указывает фактический тип(ы) MIME для любых данных, отправленных на GeoEvent Server. Этот коннектор понимает следующие типы MIME, которые принимаются по умолчанию для этого свойства:

text/json,application/json

Подробнее об официальных типах MIME см. Internet Assigned Numbers Authority (IANA). Подробнее о типах MIME, которые не используются ArcGIS Server, см. Типы MIME, не используемые ArcGIS Server.

Это свойство показывается, когда для Метода HTTP задано значение Получить, и скрыто, если стоят значения Закрепить или Поместить.

Ожидание HTTP (в секундах)

Задает максимальное время (в секундах) ожидания входным коннектором ответа от внешнего веб-сервиса, к которому он отправил запрос. Значение должно быть задано целым числом от 1 до 2147483. Значение по умолчанию – 30 секунд (HTTP-запрос будет остановлен через 30 секунд, если ответ не получен).

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

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

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

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

Ограничения

Технически, входные данные опроса всегда должны использовать HTTP/GET запрос, который не включает тело содержимого, и любые параметры должны быть параметрами запроса, применяемыми для указания интересующих данных. Приведенные ниже свойства применимы только к выходным коннекторам, которые отправляют данные на внешний веб-сервер или веб-службу. Оставьте для свойства Метод HTTP значение по умолчанию HTTP/GET, и эти свойства будут все также спрятаны.

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

Запрос Post от

(Условия)

Указывает, будет ли этот коннектор использовать запрос HTTP/POST или HTTP/PUT.

  • Тело содержимого – HTTP-запрос будет отправлять данные, используя тело содержимого запроса.
  • Параметры – HTTP-запрос будет отправлять данные, используя параметры, которые этот коннектор добавит к свойству URL, описанному выше.

Это свойство показывается, когда для свойства Метод HTTP задано значение Post или Put, и скрыто, если выбрано значение Get.

Тело запроса Post

(Условия)

Указывает данные для включения в тело содержимого запроса HTTP/POST или HTTP/PUT.

Это свойство показывается, когда для свойства Запрос Post от задано значение Тело содержимого, и скрыто, если выбрано значение Параметры

Тип MIME тела сообщения

(Условия)

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

Это свойство показывается, когда для свойства Запрос Post от задано значение Тело содержимого, и скрыто, если выбрано значение Параметры

Параметры запроса Post

(Условия)

Задает параметры для включения в HTTP-запрос. Параметры должны быть заданы с помощью пар Имя:Значение (включая двоеточие), разделенных запятыми. У этого свойства нет значения по умолчанию.

Это свойство показывается, когда для свойства Запрос Post от задано значение Параметры, и скрыто, если выбрано значение Тело содержимого