Skip To Content

Обновить объект

Выходной коннектор Обновить объект можно использовать для обновления записей объектов через векторный слой сервиса объектов атрибутами, полученными из обработанных записей событий. Этот выход требует, чтобы записи событий имели связанное Определение GeoEvent с атрибутивным полем с тегом TRACK_ID, и чтобы значение, взятое из этого помеченного тегом поля, точно соответствовало значению в поле уникального идентификатора существующего объекта записи, чтобы успешно идентифицировать и обновлять корректную запись объекта. Если запись события не имеет поля с тегом TRACK_ID или значение в поле с данным тегом не может быть сопоставлено с существующей записью объекта, по умолчанию будет создана новая запись объекта. Можно отключить создание записей объектов по умолчанию, установив для параметра Только обновление значение Да. Для обновления записей объектов через сервис объектов выходной коннектор использует запросы векторного слоя. Таким сервисом объектов может быть сервис, опубликованный на сайте ArcGIS Server, размещенный на портале ArcGIS Enterprise или в организации ArcGIS Online.

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

При использовании внешнего коннектора Обновить объект имейте в виду следующее:

  • Используйте выходной коннектор для обновления записей объектов в сервисе объектов.
  • В сервисе объектов должны быть включены операции создания и обновления.
  • Этот выход связывает исходящий адаптер JSON с исходящим транспортом Сервиса объектов.
  • Записи событий, отправленные на выходной коннектор, переформатируются адаптером в объект JSON.
  • Транспорт включает JSON, отформатированный в запрос REST, который отправляется в сервис объектов.
  • Методы устранения проблем с этим выходным коннектором описаны в блоге Debugging the Add a Feature / Update a Feature Output Connectors на Esri Community.
  • Выходной коннектор предполагает связь "один к одному" между обработанными записями событий и существующими записями объектов. Если существует несколько записей объектов, значения в поле уникального идентификатора объектов которых совпадают со значениями в поле TRACK_ID обработанной записи события, записи объектов могут быть непоследовательными или некорректно обновленными.
  • Опция Зарегистрировать ArcGIS Server, доступная при настройке нового выхода, позволяет регистрировать подключение к автономному ArcGIS Server, хост-серверу ArcGIS Enterprise или хост-серверу, используемому организацией ArcGIS Online. Подключение к серверу должно быть зарегистрировано в ArcGIS GeoEvent Server, чтобы выбрать папку сервисов, сервис объектов и векторный слой, которые будет использовать выходной коннектор.
  • На слои сервисов можно ссылаться, используя опцию Перейти к слою или указывая URL в параметрах URL слоя сервиса или Ссылка на тип слоя. Обе опции требуют, чтобы сначала было установлено зарегистрированное подключение к хранилищу данных.
  • Опция Опубликовать сервис объектов, доступная при настройке нового выходного продукта, позволяет опубликовать сервис объектов непосредственно из GeoEvent Manager. Для этого требуется существующее Определение GeoEvent, схема которого отражает поля, которые должен иметь векторный слой сервиса объектов. Обратите внимание, что ограничения, налагаемые многопользовательской базой геоданных (например, зарезервированные слова и перевод атрибутивных полей в верхний регистр), должны быть отражены в Определении GeoEvent, которое вы используете при публикации нового сервиса объектов. Сервис объектов, который вы публикуете, не будет содержать записей объектов – это пустой сервис объектов, который может использовать GeoEvent Manager для добавления и обновления записей объектов, используя данные из обрабатываемых записей событий в реальном времени. Сервер, на котором вы опубликуете новый сервис объектов, должен быть хост-сервером ArcGIS Enterprise или автономным ArcGIS Server с управляемой базой геоданных. GeoEvent Manager нельзя использовать для публикации нового размещенного сервиса объектов в организации ArcGIS Online.
  • Значение по умолчанию в параметре Генерировать одномерный JSON не следует изменять, если выход настроен на добавление или обновление записей объектов в базе геоданных. Когда этот параметр отключен, выход будет поддерживать иерархическую структуру значений атрибутов, отправляемых в сервис объектов, которые сервис объектов будет отклонять, и записи объектов не будут обновляться.
  • Параметр Удалить устаревшие объекты следует включить, если требуется, чтобы выход периодически запрашивал векторный слой сервиса объектов на наличие объектов старше заданного количества минут и удалял идентифицируемые записи объектов. Или рассмотрите возможность использования фильтров на стороне клиента для удаления или скрытия старых записей объектов на веб-карте вместо удаления достоверных данных из базы геоданных. Если отмечен параметр Удалить устаревшие объекты, укажите поле даты/времени, которое будет регулярно обновляться, например Last Updated или Last Edited. Если используется поле исторического или фиксированного времени, например, Date Created, можно случайно идентифицировать и удалить записи объектов, которые еще не устарели.

Параметры

Ниже приведены параметры выходного коннектора Обновить объект:

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

Имя

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

Зарегистрированное подключение к серверу

Подключение ArcGIS Server, ArcGIS Enterprise или ArcGIS Online, зарегистрированное на ArcGIS GeoEvent Server как хранилище данных. Зарегистрированные подключения к серверу кэшируют информацию о сервисах карт/объектов, их слоях и свойствах слоев.

Ссылка на Тип слоя

Определяет опции для ссылки на слой.

  • Перейти к слою - указать ссылку на слой сервиса, найдя его в папках зарегистрированного хранилища данных.
  • URL слоя сервиса - указать ссылку на слой сервиса, задав URL опубликованного слоя сервиса.

Папка

(Условия)

Папка сервисов ArcGIS Server, портал ArcGIS Enterprise или папка с элементами ресурсов ArcGIS Online.

Параметр показывается, когда для параметра Ссылка на Тип слоя установлено Перейти к слою, и скрыт, когда установлено URL-адрес слоя сервиса.

Имя сервиса

(Условия)

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

Параметр показывается, когда для параметра Ссылка на Тип слоя установлено Перейти к слою, и скрыт, когда установлено URL-адрес слоя сервиса.

Слой

(Условия)

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

Параметр показывается, когда для параметра Ссылка на Тип слоя установлено Перейти к слою, и скрыт, когда установлено URL-адрес слоя сервиса.

URL слоя сервиса

(Условия)

URL к слою сервиса.

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

Параметр показывается, когда для параметра Ссылка на Тип слоя установлено URL слоя сервиса, и скрыт, когда установлено Перейти к слою.

Поле уникального идентификатора объекта

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

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

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

Интервал обновления (секунд)

Задает интервал (в секундах), через который будет очищаться кэш обработанных записей событий и запрашиваться создание новых записей объектов в указанном сервисе объектов. Значение по умолчанию для этого параметра – 1 секунда, что означает, что данные из обработанных записей событий будут кэшироваться, и кэш сбрасывается каждую секунду для сохранения данных событий путем создания новых записей объектов. Можно ограничить число транзакционных запросов, выполняемых на сервере базы данных, увеличив интервал обновления, чтобы данные событий хранились в кэше выходных данных в течение более длительного периода времени.

Генерировать одномерный JSON

Указывает, как иерархия в обработанной записи события преобразовываться выходным адаптером. Сервисы объектов ArcGIS Server не поддерживают значения данных, организованные в массивы, группы или вложенные значения. Значение по умолчанию – приведение таких структур данных к одному строковому значению, имя атрибута которого берется из имени элемента группы или массива, эффективно генерирует одномерное строковое значение JSON.

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

Примечание:
В то время как свойство Добавить выходной коннектор объектов позволяет приводить иерархические значения к простым строкам, рекомендуется использовать Процессор Сопоставление полей для явного сглаживания структуры записи события перед маршрутизацией записи события на выход. Явное отображение значений для разделения полей дискретных атрибутов, тип которых – string, double, date, geometry и т.д помогает обеспечить целостность данных и соответствие ограничениям на значения полей атрибутов, применяемым сервисом объектов.

Форматированный JSON

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

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

Удалить устаревшие объекты

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

  • Да – старые объекты будут удаляться из сервиса объектов через определенное время.
  • Нет – старые объекты не будут периодически удаляться. Записи объектоа будут собираться в сервисе объектов.

Максимальный возраст объекта (минут)

(Условия)

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

Примечание:
Выходные данные не должны получать обработанные записи объектов для запуска удаления старых записей объектов. Периодически выполняется запрос для идентификации и удаления старых записей параллельно с добавлением или созданием новых записей объектов.

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

Частота удаления устаревших объектов (секунд)

(Условия)

Задает интервал (в секундах), через который будут выполняться запросы для идентификации старых записей объектов. Значение по умолчанию – 20 секунд, что означает, что запросы будут выполняться три раза в минуту для проверки записей объектов, значение даты/времени которых указывает, что запись объекта устарела.

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

Поле времени в классе объектов

(Условия)

Поле атрибута векторного слоя, значение даты/времени которого используется для определения возраста каждой записи объекта. Следует выбрать поле атрибута, значение которого часто обновляется, чтобы избежать случайного удаления записей объектов, которые на самом деле не устарели.

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

Максимальное число объектов на транзакцию

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

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

Только обновление

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

  • Да - Записи объектов, значение поля уникального идентификатора объектов которых точно соответствует значению, взятому из поля обработанной записи событий с тегом TRACK_ID, должны существовать. Соответствующие записи объектов будут обновлены, но новые записи объектов не будут созданы. Записи событий, не имеющие совпадающих записей объектов, будут отброшены.
  • Нет - Записи объектов, совпадающие с обработанной записью события, будут обновлены. Если соответствующая запись объекта не может быть идентифицирована, будет создана новая запись объекта.
Примечание:

В сервисе объектов должны быть включены операции создание и обновление, если для параметра Только обновление установлено значение Нет. Если для параметра Только обновление установлено значение Да, то сервису объектов требуется включить только операцию обновления, поскольку новые записи объектов создаваться не будут.