Skip To Content

更新要素

“更新要素输出连接器”可用于通过要素服务的要素图层来更新要素记录,其中包含从已处理事件记录中获取的属性。 要成功标识并更新正确的要素记录,此输出要求事件记录具有关联的 GeoEvent 定义以及已标记 TRACK_ID 的属性字段,并且从此已标记字段中获取的值与现有要素记录的指定唯一要素标识符字段中的值完全匹配。 如果事件记录没有已标记 TRACK_ID 的字段,或者无法将标记字段中的值与现有要素记录匹配,则将默认创建新要素记录。 可以通过将仅更新参数设置为来禁用默认创建新要素记录。 此输出连接器依赖于要素图层查询以通过要素服务来更新要素记录。 要素服务可以是已发布到 ArcGIS Server 站点的要素服务、由 ArcGIS Enterprise 门户托管的要素服务或由 ArcGIS Online 组织托管的要素服务。

用法说明

  • 可以使用此输出连接器更新要素服务中的要素记录。
  • 要素服务应该已启用创建更新操作。
  • 此输出连接器可将 JSON 出站适配器与要素服务出站传输进行配对。
  • 路由到此输出连接器的事件记录将通过适配器重新格式化为要素 JSON
  • 传输可将格式化的 JSON 整合到发送至要素服务的 REST 请求。
  • 有关对此输出连接器进行故障排除的帮助,请参阅 Esri 社区博客调试添加要素/更新要素输出连接器
  • 此输出连接器假设已处理事件记录与现有要素记录之间存在一对一关系。 如果存在多个要素记录,其唯一要素标识符字段值与已处理事件记录的已标记 TRACK_ID 字段中的值匹配,则要素记录可能不一致和/或错误更新。
  • 配置新输出时提供的注册 ArcGIS Server 功能可用于将连接注册到独立 ArcGIS ServerArcGIS Enterprise 托管服务器或者 ArcGIS Online 组织所使用的托管服务器。 必须使用 ArcGIS GeoEvent Server 注册服务器连接,以选择输出连接器要使用的服务文件夹、要素服务和要素图层。
  • 要引用服务图层,可以使用浏览至图层选项,或使用参考图层类型参数中的服务图层 URL 选项来指定 URL。 这两个选项都需要首先建立已注册数据存储连接。
  • 配置新输出时提供的发布要素服务选项可用于直接在 GeoEvent Manager 中发布要素服务。 这需要现有的 GeoEvent 定义,其方案反映了您希望要素服务的要素图层所具有的字段。 请注意,企业级地理数据库施加的限制(例如,保留字和属性字段大写)必须反映在发布新要素服务时使用的 GeoEvent 定义中。 当然,您发布的要素服务中没有要素记录 - 它是一项空要素服务,您可以借助 GeoEvent Manager 使用来自正在处理的实时事件记录的数据来添加和更新要素记录。 发布新要素服务的服务器必须是 ArcGIS Enterprise 托管服务器或具有托管地理数据库的独立 ArcGIS ServerGeoEvent Manager 无法用于将新的托管要素服务发布到 ArcGIS Online 组织。
  • 将输出配置为在地理数据库中添加或更新要素记录时,不应更改生成平面 JSON 默认值。 通过禁用此参数,输出将保留发送到要素服务的属性值的层次结构,要素服务将拒绝该属性值,并且不会更新要素记录。
  • 如果希望输出定期查询要素服务的要素图层以查找超过指定分钟数的要素并删除其识别的要素记录,则可以启用删除旧要素参数。 或者,考虑使用客户端过滤器从 web 地图的显示中移除或隐藏旧要素记录,而非从地理数据库中删除权威数据。 选择删除旧要素时,请指定定期更新的日期/时间字段(例如 Last UpdatedLast Edited)。 如果使用历史或固定时间字段(例如 Date Created),您可能会意外地识别和删除不一定过时的要素记录。

参数

参数描述

名称

用于在 GeoEvent Manager 中引用的输出连接器的描述性名称。

已注册服务器连接

ArcGIS GeoEvent Server 注册为数据存储的 ArcGIS ServerArcGIS EnterpriseArcGIS Online 连接。 已注册的服务器连接会缓存有关地图/要素服务、其图层和图层属性的信息。

参考图层类型

定义参考图层的选项。

  • 浏览到图层 - 通过浏览已注册数据存储的文件夹来引用服务图层。
  • 服务图层 URL - 通过指定共享服务图层的 URL 来引用服务图层。

文件夹

(条件分析)

ArcGIS Server 服务文件夹、ArcGIS Enterprise 门户或 ArcGIS Online 内容项目文件夹。

此参数在参考图层类型参数设置为浏览至图层时显示,设置为服务图层 URL 时隐藏。

服务名称

(条件分析)

要素服务的名称,新要素记录将添加到该要素图层中,或现有要素记录将使用共享相同唯一轨迹标识符的已处理事件数据中的值更新到其中。

此参数在参考图层类型参数设置为浏览至图层时显示,设置为服务图层 URL 时隐藏。

图层

(条件分析)

要素服务中要素图层的名称,新要素记录将添加到该要素图层中,或现有要素记录将使用共享相同唯一轨迹标识符的已处理事件数据中的值更新到其中。

此参数在参考图层类型参数设置为浏览至图层时显示,设置为服务图层 URL 时隐藏。

服务图层 URL

(条件分析)

服务图层的 URL。

注:
通过 URL 引用服务图层时,必须建立数据存储连接。 服务图层必须是可公开访问的,或者与其凭据建立数据存储连接的用户共享。

此参数在参考图层类型参数设置为服务图层 URL 时显示,设置为浏览至图层时隐藏。

唯一要素标识符字段

要素服务的要素图层中的字段,用于唯一标识传感器或可跟踪资产。 当标识要更新的要素记录时,此输出将查询其唯一要素标识符字段值与从具有 TRACK_ID 标签的已处理事件记录的字段中获取的值完全匹配的要素记录。

如果事件记录没有已标记 TRACK_ID 的字段,或者在任何现有要素记录的唯一要素标识符字段中未找到已标记字段中的值,则默认行为是创建新要素记录,并在输出接收具有特定追踪 ID 的后续事件记录时,开始更新创建的要素。

此输出连接器假设已处理事件记录与现有要素记录之间存在一对一关系。 如果存在多个要素记录,其唯一要素标识符字段值与已处理事件记录的已标记 TRACK_ID 字段中的值匹配,则要素记录可能不一致和/或错误更新。

更新间隔(秒)

指定输出将刷新其已处理事件记录的缓存并请求在指定要素服务中创建新要素记录的间隔(以秒为单位)。 此参数的默认值为 1 秒,这意味着将处理来自已处理事件记录的数据,并且每秒刷新缓存以通过创建新要素记录来保存事件数据。 您可以通过增加更新间隔来限制在数据库服务器上进行的事务请求的数量,以便事件数据将在输出的缓存中保留更长的时间。

生成平面 JSON

指定输出的适配器如何处理已处理事件记录中的层次。 ArcGIS Server 要素服务不支持以数组、组或嵌套值组织的数据值。 默认设置是将此类数据结构强制转换为单个字符串值,其属性名称取自组元素或数组元素的名称 - 有效地生成一个扁平 JSON 字符串值。

  • - 使用子结构的基本名称作为字符串属性字段的名称,将分层值展平并作为单个文本字符串处理。
  • - 将保持分层值。 因此,处理的事件记录将与要素服务不兼容。 事件记录将被删除,不会作为要素记录添加到要素服务。

注:
虽然添加要素输出连接器允许将层次结构值转换为简单字符串,但最佳做法建议是使用字段映射器处理器在将事件记录路由到输出之前显式展平事件记录的结构。 将值显式映射到单独的离散属性字段(其类型为字符串、双精度、日期、几何等),有助于确保数据完整性并符合要素服务强制执行的属性字段值的限制。

格式化的 JSON

指定是否使用空格缩进和换行格式来修饰要素 JSON 字符串。 此 JSON(有时称为 PJSON)通常仅在写入可在文本编辑器中查看其内容的系统文件时适用。 默认为

  • - 要素 JSON 将被格式化(修饰)。
  • - 要素 JSON 不会被格式化。

删除旧要素

确定输出连接器是否定期查询要素服务的要素图层以查找指定分钟数之前的要素,并删除其标识的要素记录。 默认为

  • - 在一段时间后,将定期从要素服务中删除旧要素。
  • - 不会定期删除旧要素。 要素记录将在要素服务中累积。

最大要素期限(分钟):

(条件分析)

指定要素记录在被视为旧记录之前可能保留的最长期限(以分钟为单位)。 默认为 1440 分钟,这意味着当输出配置为删除旧要素时,将从要素服务中删除早于 24 小时的要素记录。

注:
输出不需要接收任何已处理的要素记录以触发旧要素记录的删除。 识别和删除旧记录的定期查询与添加或创建新要素记录并行运行。

此参数在删除旧要素设置为时显示,设置为时隐藏。

旧要素的删除频率(秒)

(条件分析)

指定将运行查询以标识旧要素记录的时间间隔(以秒为单位)。 默认为 20 秒,这意味着查询将每分钟运行三次,以检查其日期/时间值表明要素记录已过时的要素记录。

此参数在删除旧要素设置为时显示,设置为时隐藏。

要素类中的时间字段

(条件分析)

要素图层属性字段,其日期/时间值用于确定每个要素记录的期限。 此参数没有默认值。 应选择一个值经常更新的属性字段,以避免意外删除实际上并未过时的要素记录。

此参数在删除旧要素设置为时显示,设置为时隐藏。

每项事务的最大要素

要更新要素记录的任何单个要素服务请求中包含的最大记录数。 如果输出缓存包含的记录数超过指定的最大记录数,则将创建多个请求,直到清空输出缓存为止。 默认值为 500

作为最佳实践,请将每个事件记录的大小和复杂性与每秒处理的事件记录数进行平衡。 当事件记录特别大,具有许多属性字段和/或大型复杂几何对象时,请减小该值以避免发送大于要素服务可以处理的请求。 但是,根据每秒处理的事件记录的速度和数量,将值设置得太低可能会导致大量的事务请求。

仅更新版

当事件记录没有已标记 TRACK_ID 的字段,或者已标记字段中的值无法与现有要素记录匹配时,指定输出连接器是否应创建新要素记录。 默认为

  • - 必须存在要素记录,其唯一要素标识符字段值与从已处理事件记录已标记 TRACK_ID 的字段中获取的值完全匹配。 将更新匹配的要素记录,但不会创建新要素记录。 将放弃没有匹配要素记录的事件记录。
  • - 将更新与已处理事件记录匹配的要素记录。 如果无法标识匹配的要素记录,则将创建新要素记录。
注:

仅更新设置为时,要素服务必须同时启用创建更新操作。如果将仅更新设置为,则要素服务仅需要启用更新操作,因为不会创建新要素记录。


在本主题中
  1. 用法说明
  2. 参数