Skip To Content

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

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

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

  • Используйте выходной коннектор для обновления записей объектов в сервисе объектов.
  • В сервисе объектов должны быть включены операции создания и обновления.
  • Этот выход связывает исходящий адаптер JSON с исходящим транспортом сервиса объектов.
  • Записи событий, отправленные на выходной коннектор, переформатируются адаптером в объект JSON.
  • Транспорт включает отформатированный JSON в запрос REST, который отправляется в сервис объектов.
  • Методы устранения проблем с этим выходным коннектором описаны в блоге Esri Community Debugging the Add a Feature / Update a Feature Output Connectors.
  • Выходной коннектор предполагает связь "один к одному" между обработанными записями событий и существующими записями объектов. Если существует несколько записей объектов, чьи значения полей уникального идентификатора объектов совпадают со значениями в тегированном поле TRACK_ID обработанной записи события, записи объектов могут обновляться хаотично и/или неправильно.
  • Функция Зарегистрировать ArcGIS Server, доступная при настройке нового выходного продукта, позволяет регистрировать подключение к автономному ArcGIS Server, хост-серверу ArcGIS Enterprise или хост-серверу, используемому организацией ArcGIS Online. Подключение к серверу должно быть зарегистрировано на ArcGIS GeoEvent Server, чтобы выбрать папку сервисов, сервис объектов и векторный слой, которые будет использовать выходной коннектор.
  • Функция Опубликовать сервис объектов, доступная при настройке нового выходного продукта, позволяет опубликовать сервис объектов непосредственно из 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 Server, ArcGIS Enterprise или ArcGIS Online, зарегистрированное на ArcGIS GeoEvent Server как хранилище данных. Зарегистрированные подключения к серверу кэшируют информацию о сервисах карт/объектов, их слоях и свойствах слоев.

Папка

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

Имя сервиса

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

Слой

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

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

Поле в векторном слое сервиса объектов, которое однозначно идентифицирует датчик или отслеживаемый объект. При поиске записи объекта для идентификации и обновления этот выход будет запрашивать запись объекта, для которой значение поля уникального идентификатора объекта точно соответствует значению, взятому из поля обработанной записи события с тегом 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, должны существовать. Соответствующие записи объектов будут обновлены, но новые записи объектов не будут созданы. Записи событий, не имеющие совпадающих записей объектов, будут отброшены.
  • Нет - Записи объектов, совпадающие с обработанной записью события, будут обновлены. Если соответствующая запись объекта не может быть идентифицирована, будет создана новая запись объекта.

Примечание:

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