“查看新 JSON 文件的文件夹”输入连接器可用于从系统文件中读取并改编格式化为通用 JSON 的事件数据。 有关说明 ArcGIS GeoEvent Server 期望如何设置典型的通用 JSON 数据记录格式的示例,请参阅 Esri Community 博客 JSON 数据结构 - 使用层次结构和多基数关系。
在通用 JSON 文件中指定多个事件数据记录时,可将其组织在数组中,如下图所示。 通用 JSON 入站适配器会将数组中的每个对象作为单独的事件记录进行管理。 将对以下说明的 JSON 进行改编以针对要处理的 GeoEvent 服务生成三个单独的事件数据记录。
用法说明
使用“查看新 JSON 文件的文件夹”输入连接器时,应记住以下事项:
- 使用此输入连接器可以从系统文件中读取格式化为通用 JSON 的事件数据,并对其进行改编以创建事件数据记录以进行处理。
- 此输入连接器将通用 JSON 入站适配器与文件入站传输配对。
- 输入连接器将查看指定的系统文件夹,当文件出现在文件夹中时,将立即读取整个文件。
- 如果对文件进行更改并保存所作更改,则将重新读取整个文件的内容。
- 在以下情况下,将从文件开头重新读取所查看文件夹中的所有文件:
- 输入连接器的参数已更新并保存。
- 停止并重新启动输入连接器后(或重新启动 ArcGIS GeoEvent Server 服务后)。
- 通用 JSON 记录无需包含表示几何的数据。
- 适配器支持根据 x、y 和 z 属性值构造点几何的功能。
- 可以使用绝对路径或 UNC 路径在输入文件夹数据存储参数中指定已注册的服务器文件夹。 如果使用 UNC 路径,则运行 GeoEvent Server 的 Windows 服务帐户需要对文件夹的读/写权限。
- 建议您为输入文件夹数据存储参数使用绝对路径,例如 C:\GeoEvent\input。
- 您可通过输入目录参数指定相对于已注册服务器文件夹的子文件夹。
- 您可通过包括子文件夹参数指定是否应递归搜索输入文件夹数据存储参数中指定的文件夹下方的文件夹。 通常,可以将具有不同方案的数据组织到不同的文件夹中,然后更改包括子文件夹的默认值以禁用递归搜索,由此即可更直接、更简单地配置此输入连接器。
- 此输入连接器包括学习模式参数,当您需要允许输入连接器修改其构造的 GeoEvent 定义时,该模式可能非常有用。 此参数的目的是暂时接受所接收的事件数据将具有变量方案或数据结构。 输入连接器将使用所接收数据记录的样本来了解有关变量数据结构的详细信息,并将先前未发现的新属性字段追加到现有 GeoEvent 定义中。
允许实时更改 GeoEvent 定义会对 GeoEvent 服务中的实时分析设计产生负面影响。 如果入站事件数据中预期存在方案差异,建议您在尽可能短的时间内使用学习模式,以生成支持入站数据所有预期变体的 GeoEvent 定义。 然后,您可以关闭学习模式,针对生产部署复制并定制自动生成的 GeoEvent 定义。
- 网络延迟可能会对 GeoEvent Server 检索大量的事件数据产生负面影响。
参数
以下是“查看新 JSON 文件的文件夹”输入连接器的参数:
参数 | 描述 |
---|---|
名称 | 用于在 GeoEvent Manager 中引用的输入连接器的描述性名称。 |
输入文件夹数据存储 | 已注册的系统文件夹,将在该文件夹下找到文件。 |
输入目录 | 直接位于已注册的系统文件夹下的子文件夹。 如果已注册的系统文件夹下不存在某个子文件夹,则输入目录应留空。 |
输入文件过滤器 | 一种正则表达式模式,用于标识适合此输入的文件以进行合并和调整,从而创建要处理的事件数据记录。 默认为 .*\.json,可匹配以文字后缀 (.json) 结尾的任何文件名 (.*)。 虽然此参数并非必需且可以留空,但建议您指定一个模式,该模式可与任何文件的文件名匹配,只要该文件的方案与此输入已配置为使用的 GeoEvent 定义匹配,还建议排除您不希望输入合并的文件(按名称)。 |
默认空间参考 | 当从坐标不是假定的 WGS84 地理坐标系的纬度和经度值的属性字段值构造几何时使用的空间参考的熟知 ID (WKID),或接收的不包含空间参考的几何字符串。 还可以指定熟知文本 (WKT) 值或包含 WKID 或 WKT 的属性字段的名称。 |
包括子文件夹 | 指定输入文件夹数据存储和输入目录(可选)下的子文件夹是否用于搜索文件。 默认为是,但是,将具有不同方案的数据组织到不同的文件夹中并将此参数更改为否可以禁用递归搜索,从而实现更简单的配置。
|
处理后删除文件 | 指定在处理内容后是否删除已注册系统文件夹中的文件。 请注意,即使无法调整文件的内容,也不会创建任何事件记录,也不会发生实时事件处理,入站传输仍将删除已成功读取内容的文件。 默认为否。
如果输入连接器的属性已更改并保存,或者输入已停止并重新启动(例如,重新启动 ArcGIS GeoEvent Server 服务时),则将从文件开头重新读取未删除的文件。 |
创建 GeoEvent 定义 | 指定是否应将新的或现有的 GeoEvent 定义用于入站事件数据。 GeoEvent Server 需要 GeoEvent 定义,以了解入站事件数据属性字段和数据类型。
|
GeoEvent 定义名称(新) (条件分析) | 分配给新 GeoEvent 定义的名称。 如果已存在具有指定名称的 GeoEvent 定义,则会使用现有的 GeoEvent 定义。 收到的第一个数据记录将用于确定后续数据记录的预期方案,将根据第一个数据记录的方案创建新的 GeoEvent 定义。 此参数在创建 GeoEvent 定义设置为是时显示,设置为否时隐藏。 |
GeoEvent 定义名称(现有) (条件分析) | 在调整接收数据以创建事件数据以供 GeoEvent 服务处理时使用的现有 GeoEvent 定义的名称。 此参数在创建 GeoEvent 定义设置为否时显示,设置为是时隐藏。 |
预期日期格式 | 该模式用于匹配日期/时间值的预期字符串表示形式,并将它们转换为 Java 日期值。 模式的格式遵循 Java SimpleDateFormat 类约定。 而 GeoEvent Server 更偏好以 ISO 8601 标准表示的日期/时间值,通常被识别为日期值的日期/时间值的多个字符串表示可以转换为 Java 日期值,且无需指定预期日期格式模式。 其中包括:
如果收到的日期/时间值使用并非上述五种之一的约定表示,则必须指定一个预期日期格式模式以便 GeoEvent Server 了解如何调整日期/时间值。 |
从字段构建几何 | 指定输入连接器是否应使用作为属性接收的坐标值构造点几何。 默认为否。
|
X 几何字段 (条件分析) | 入站事件数据中包含点位置 x 坐标部分(例如水平或经度)的属性字段。 此参数在从字段构建几何设置为是时显示,设置为否时隐藏。 |
Y 几何字段 (条件分析) | 入站事件数据中包含点位置 y 坐标部分(例如垂直或纬度)的属性字段。 此参数在从字段构建几何设置为是时显示,设置为否时隐藏。 |
Z 几何字段 (条件分析) | 入站事件数据中包含点位置 z 坐标部分(例如深度或高度)的字段的名称。 如果留空,则将省略 z 值,并将构建 2D 点几何。 此参数在从字段构建几何设置为是时显示,设置为否时隐藏。 |
JSON 对象名称 | JSON 元素的名称,可用作接收的 JSON 数据中子结构的根结点。 当 JSON 对象名称用于按名称指定 JSON 元素时,适配器将搜索对象名称与指定元素名称匹配的子结构。 仅考虑所识别的子结构内的数据。 如果保留为空(默认值),则最上面的 JSON 对象将用作整个 JSON 结构的根。 |
学习模式 | 指定学习模式为活动还是禁用状态。 学习模式设置为是时,入站适配器会将新字段追加到其已创建和正在维护的 GeoEvent 定义中。
当您需要允许输入连接器修改它构建的 GeoEvent 定义时,学习模式会很有用。 此参数的目的是暂时接受所接收的事件数据将具有变量方案或数据结构。 输入连接器将使用所接收数据记录的样本来了解有关变量数据结构的详细信息,并将先前未发现的新属性字段追加到现有 GeoEvent 定义中。 |
将文件读取为文本行 | 指定应如何读取和解析文件的内容。 默认为是。
当使用包含一个或多个 JSON 数组对象的文本文件时,建议您读取整个文件的内容,而不是读取文件中单独的文本行。 JSON 文档最好作为单个文档读取。 |
每批的最大行数 (条件分析) | 每个批次或区间中从文件读取的最大行数。 默认为 1000 行。 如果每个事件记录包含许多属性,请减小此值以限制批量发送到文本适配器的数据量。 此参数在将文件读取为文本行设置为是时显示,设置为否时隐藏。 |
批刷新间隔(毫秒) (条件分析) | 从文件中读取另一批行之前要等待的毫秒数。 默认值为 500。 如果预计文件大小非常大或需要额外的时间来处理从文件中检索的每批行,请减小此值。 此参数在将文件读取为文本行设置为是时显示,设置为否时隐藏。 |
从文件开始处跳过的行数 (条件分析) | 从文件开始处跳过的行数。 默认值为 0。 因为一些行中不包含要处理的实际数据(例如,指定属性字段名称或数据类型的标题行),因此,如要跳过特定行数,可以增加此值。 此参数在将文件读取为文本行设置为是时显示,设置为否时隐藏。 |
作为 GeoJSON | 指定是否将传入的几何解析为 GeoJSON 几何对象而不是要素 JSON。 默认情况下假设当一个几何作为字符串接收时,该值将是要素 JSON,正如几何对象中所述。
有关 GeoJSON 几何对象格式的有效和完整示例,请参阅 GeoJSON 规范。 假设单个 GeoJSON 几何对象具有名称为坐标的成员,坐标值为数组。 数组的结构由几何类型决定。 |