Выходной коннектор Отправить объекты в потоковый сервис можно использовать для трансляции данных событиях в виде объектов JSON через WebSocket потокового сервиса. Клиентский приложения могут подписываться на WebSocket потокового сервиса для получения транслируемых записей об объектах.
Потоковые сервисы аналогичны традиционным картографическим сервисам и сервисам объектов в том, что их можно обнаружить при просмотре содержимого ArcGIS Server REST Services Directory. Потоковый сервис - это один из типов сервисов ArcGIS Server, который доступен только в случае, когда в ArcGIS Enterprise добавлена лицензионная роль ArcGIS GeoEvent Server. Потоковые сервисы могут быть опубликованы на компьютере с запущенным ArcGIS GeoEvent Server. Публикация сервиса требует роли лицензии GIS Server. Потоковые сервисы ориентированы на распространение данных в реальном времени с малой задержкой для рабочих процессов клиент-сервер. Ключевое отличие между потоковыми сервисами и традиционными картографическими сервисами и сервисами объектов заключается в том, что, как правило, потоковые сервисы не сохраняют данные. Возможность потокового сервиса Хранить последние является исключением из этого правила. Потоковые сервисы используют технологию WebSocket для установления двунаправленной связи и распространения данных с клиентами. Клиенты подписываются на получение данных в режиме реального времени, а не опрашивают базу геоданных для получения данных.
Опубликованный потоковый сервис не будет принимать или транслировать какие-либо данные, если только выходной Оператор коннектор Отправить объекты в потоковый сервис не настроен и включен в сервис GeoEvent.
Более подробную информацию по потоковым сервисам геообработки см. в разделе Потоковые сервисы. Руководство по потоковым сервисам включает приложения, которые позволят вам лучше познакомиться с ними. Видео о возможностях потоковых сервисов доступно в блоге Esri Community Stream Services, Store Latest, and Related Features.
Примечания по использованию
При использовании коннектора Отправить объекты в потоковый сервис имейте в виду следующее:
- Используйте этого выходной оператор подключения для форматирования данных записей о событиях в виде объектов JSON и трансляции записей объектов через WebSocket потокового сервиса.
- Выходной оператор подключения спаривает исходящий адаптер JSON с Stream Service Outbound Transport.
- Для использования потоковых сервисов у вас должна быть лицензия ArcGIS Server и ArcGIS GeoEvent Server, а также должен быть запущен сервис GeoEvent Server.
- ArcGIS Server, под которым работает GeoEvent Server, может быть интегрирован с порталом ArcGIS Enterprise, но при использовании потоковых сервисов администрирование обычно проще, когда ArcGIS Server не интегрирован.
- На слои сервисов можно ссылаться, используя опцию Перейти к сервису или указывая URL c помощью опции URL сервиса в параметре Ссылка на тип сервиса. Обе опции требуют, чтобы сначала было установлено зарегистрированное подключение к хранилищу данных.
- Возможность Опубликовать потоковый сервис, доступная при настройке нового выходного оператора, используется для публикации потокового сервиса непосредственно из GeoEvent Manager.
- Чтобы опубликовать потоковый сервис, у вас должно быть существующее Определение GeoEvent, схема которого отражает поля, которые должны быть в потоковом сервисе.
- WebSocket, лежащий в основе потокового сервиса, работает как часть GeoEvent Server, а не ArcGIS Enterprise. При публикации потокового сервиса с помощью подключения к серверу по умолчанию, и когда URL-адрес этого подключения к серверу отражает конечную точку портала ArcGIS Enterprise, механизм публикации сервиса будет обрабатывать публикацию потокового сервиса на компьютере, на котором запущен GeoEvent Server. Опубликованный сервис будет зарегистрирован на портале ArcGIS Enterprise, как элемент ресурса.
- Для разделения рабочих процессов рекомендуется развертывать ArcGIS Enterprise на серверном компьютере, отдельном от компьютера, на котором запускается GeoEvent Server. Подключение сервера по умолчанию в GeoEvent Server содержит информацию, которая помогает определить компьютер, подходящий для публикации потокового сервиса.
Параметры
Ниже перечислены параметры выходного коннектора Отправить объекты в потоковый сервис:
Параметр | Описание |
---|---|
Имя | Описательное имя выходного коннектора, используемое для ссылки в GeoEvent Manager. |
Зарегистрированное подключение к серверу | Подключение ArcGIS Serverили ArcGIS Enterprise, зарегистрированное на GeoEvent Server как хранилище данных. Примечание:Потоковые сервисы должны быть опубликованы на ArcGIS Server с лицензией и настроены с ролью GeoEvent Server. Публикация сервиса требует роли лицензии GIS Server. У учетных данных в зарегистрированном подключении к серверу должны быть права администратора для публикации сервисов. Более подробную информацию о регистрации подключений к серверу см. в разделе Управление хранилищами данных. |
Ссылка на тип сервиса | Задает опции для ссылки на сервис
|
Папка (Условия) | Папка с сервисами ArcGIS Server находится в ArcGIS REST Services Directory. В настоящее время потоковые сервисы не могут быть опубликованы в папку элементов ресурсов портала ArcGIS Enterprise. При интеграции GeoEvent Server с порталом ArcGIS Enterprise следует публиковать потовые сервисы в Корневую папку. Параметр Ссылка на тип сервиса отображается, когда выбрано Перейти к сервису, но скрыт, если выбрано URL сервиса. |
Имя потокового сервиса (Условия) | Имя потокового сервиса, в который обработанные данные о событиях будут отправляться как записи объектов. Параметр Ссылка на тип сервиса отображается, когда выбрано Перейти к сервису, но скрыт, если выбрано URL сервиса. Примечание:Потоковые сервисы должны быть опубликованы на ArcGIS Server с лицензией роли GeoEvent Server. Не поддерживается публикация потоковых сервисов на ArcGIS Server, у которого нет лицензии и на котором не настроен GeoEvent Server. У учетных данных в зарегистрированном подключении к серверу должны быть права администратора для публикации сервисов. Более подробную информацию о регистрации подключений к серверу см. в разделе Управление хранилищами данных. |
URL-адрес сервиса (Условия) | URL потокового сервиса. Примечание:Должно быть установлено подключение к хранилищу данных при ссылке на потоковый сервис через URL. Потоковый сервис должен быть либо доступен для всех, либо опубликован для пользователя, у которого есть учетные данные для подключения к хранилищу данных. Параметр Ссылка на тип сервиса отображается, когда выбрано URL сервиса, но скрыт, если выбрано Перейти к сервису. |
Интервал обновления (секунд) | Определяет интервал (в секундах), в течение которого выходной оператор подключения сбрасывает кэш обработанных записей событий, отправляя их указанному потоковому сервису в виде записей объектов. Значение по умолчанию составляет 0.1 секунды, это значит, что данные из обработанных записей событий будут кэшироваться и кэш будет регулярно сбрасываться с частотой десять раз в секунду. Записи событий, передаваемые в виде записей объектов, должны иметь минимальные атрибуты и упрощенную геометрию, чтобы поддерживать способность потокового сервиса передавать данные в реальном времени с малой задержкой. |
Форматированный JSON | Указывает, будет ли строка объекта JSON иметь отступ с пробелом и форматированием новой строки. Этот JSON, иногда называемый PJSON, обычно подходит только при записи в системный файл, содержимое которого может быть просмотрено в текстовом редакторе. По умолчанию Нет.
|
Применить уникальный TrackID | Определяет, должно ли поле записи события с тегом TRACK_ID использоваться в качестве уникального идентификатора для обновления записей объектов, транслируемых потоковым сервисом. По умолчанию Нет. Примечание:Этот параметр сейчас не внедрен в GeoEvent Server и нужно оставить для него значение по умолчанию Нет. См. раздел Факторы и ограничения ниже. |
Советы и ограничения
Был добавлен параметр Форсировать уникальный TrackID, предназначенное для предоставления информации подписывающимся клиентским приложениям, позволяя изменить их поведение от приемника записи объекта на тот, который позволяет обновлять запись объекта. Если для параметра задано значение по умолчанию, Нет, то клиенты, подписанные на трансляцию потокового сервиса, будут воспринимать каждую запись объекта как новое наблюдение. Общее поведение будет имитировать рабочий процесс добавления объекта, где для каждой трансляции записи объекта отображается новая запись объекта. Если же для параметра Форсировать уникальный TrackID задано значение Да, то поведение изменится, имитируя обновление рабочего процесса объекта, где позиция и атрибуты последней записи объекта могут обновляться по мере того, как новые записи объекта транслируются потоковым сервисом.
На практике не важно, как будет задан параметр Форсировать уникальный TrackID. Изменение значения этого параметра не поменяет спецификацию JSON опубликованного потокового сервиса. Веб-карты ArcGIS Enterprise и ArcGIS Online для StreamLayer в настоящее время используют trackIdField, указанное для потокового сервиса, которое можно найти в спецификации timeInfo сервиса, чтобы управлять тем, будет ли потоковый слой отображать новые записи объектов при каждой трансляции записи объекта или по мере трансляции новых записей он будет обновлять ранее полученные записи объектов. В картографических приложениях, созданных с помощью ArcGIS Maps SDK for JavaScript, можно имитировать такое же поведение или добавить какое-либо другое.
Рекомендуется задать для параметра Форсировать уникальный TrackID значение по умолчанию Нет, тогда можно добавить объект или обновить поведение объектов так, чтобы оно управлялось атрибутивным полем, чье значение может использоваться в качестве уникального идентификатора сенсора или отслеживаемого устройства.
Если потоковый сервис опубликован с помощью Определения GeoEvent с атрибутивным полем, имеющим тег TRACK_ID, то клиентские приложения могут получить имя поля атрибутов из указанного для опубликованного сервиса trackIdField и обновить кэш слоя или отображение объектов по мере трансляции новых записей. Если же потоковый сервис был опубликован с помощью Определения GeoEvent, у которого нет поля атрибутов с тегом TRACK_ID, то опубликованный потоковый сервис не будет включать значение trackIdField в своей спецификации и по умолчанию клиенты должны будут рассматривать каждую трансляцию объекта как уникальное наблюдение, не связанное с каким-либо конкретным датчиком или отслеживаемым объектом.