“查看新 CSV 文件的文件夹”输入连接器可用于从系统文件中读取并改编格式化为分隔文本的事件数据。 文本分隔符通常为逗号,因此这种类型的输入文件有时被称为逗号分隔值数据文件,但是 ArcGIS GeoEvent Server 可以使用任何 ASCII 可打印字符作为分隔符来分隔数据属性值。
数据值通常非常简单。 逗号可用于分隔单个属性值,并且文本字符串值使用双引号括起来,如下图所示。
有时,在属性值中嵌入双引号或逗号时(例如,当数据文件包含用于指定几何值的 JSON 字符串表示时),使用逗号以外的分隔符有助于避免歧义。 使用分号作为分隔符的用法如下所示。
用法说明
使用“查看新 CSV 文件的文件夹”输入连接器时,应记住以下事项:
- 使用此输入连接器可以从系统文件中读取格式化为分隔文本的数据,并对其进行改编以创建事件数据记录以进行处理。
- 此输入连接器可将文本入站适配器与文件入站传输进行配对。
- 输入连接器将查看指定的系统文件夹,当文件出现在文件夹中时,将立即读取整个文件。
- 如果对文件进行更改并保存所作更改,则将重新读取整个文件的内容。
- 在以下情况下,将从文件开头重新读取所查看文件夹中的所有文件:
- 输入连接器的参数已更新并保存。
- 停止并重新启动输入连接器后(或重新启动 ArcGIS GeoEvent Server 服务后)。
- 分隔文本不是必须包含表示几何的数据。
- 适配器支持根据 x、y 和 z 属性值构造点几何的功能。
- 可以使用绝对路径或 UNC 路径在输入文件夹数据存储参数中指定已注册的服务器文件夹。 如果使用 UNC 路径,则运行 GeoEvent Server 的 Windows 服务帐户必须具有对文件夹的读/写权限。
- 建议您为输入文件夹数据存储参数使用绝对路径,例如 C:\GeoEvent\input。
- 输入目录参数允许指定相对于已注册服务器文件夹的子文件夹。
- 您可通过包括子文件夹参数指定是否应递归搜索输入文件夹数据存储参数中指定的文件夹下方的文件夹。 通常,可以将具有不同方案的数据组织到不同的文件夹中,然后更改包括子文件夹的默认值以禁用递归搜索,由此即可更直接、更简单地配置此输入连接器。
- 如果数据文件具有一个或多个非数据值的标头(例如,字段名称或属性数据类型),请指定从文件开始处跳过的行数值。 如果数据文件特别大,请减小每批的最大行数值以通过限制检索文件内容时检索的行数来帮助管理数据检索。 您也可以设置批刷新间隔值以指定从文件中检索下一批行之前要等待的毫秒数。
- 解析分隔文本需要消息分隔符值和属性分隔符值。 消息分隔符值可指示用于标识数据记录结尾的字符。 默认为 \n(换行符)。 属性分隔符值可指定用于在单行文本中将一个属性值与另一个属性值分开的字符。 上图显示了使用不同字符作为属性分隔符的数据。 但是,每个图例均假设换行符为自然的消息分隔符。
单个数据文件可以包含不同类型的数据,例如轻型货车与牵引挂车。 如果不同的文本行表示来自不同类型传感器或资产的事件数据,则每行文本的第一个属性值必须标识事件记录的类型。 传入数据包含 GeoEvent 定义参数可指定连接器是否应使用第一个属性值作为 GeoEvent 定义的名称,以指定后跟的数据类型和属性值的数量。 如果将此参数设置为是(默认值)并与依赖参数相结合,将创建无法识别的事件定义设置为否(默认值),并提供如上所示的事件数据,则通常会造成混乱。 不会创建任何事件记录以进行处理。 此情况的原因是所示事件数据的第一个属性不是 GeoEvent 定义的名称,而是资产的唯一名称/标识符。 并且不太可能存在名称与所监控的每个资产的唯一标识符相匹配的 GeoEvent 定义。
如果配置输入时默认的传入数据包含 GeoEvent 定义参数设置为是,并且将创建无法识别的事件定义参数更改为是,请考虑预期行为。 将为每个指定资产或传感器创建新的 GeoEvent 定义。 这可能不是您想要的结果,特别是如果数据包含数百个或数千个唯一资产名称时更是如此。 要防止上述情况发生,请检查数据,如果每行未以 GeoEvent 定义的名称开头,请将传入数据包含 GeoEvent 定义参数值更改为否。
- 网络延迟可能会对 GeoEvent Server 检索大量的事件数据产生负面影响。
参数
以下是“查看新 CSV 文件的文件夹”输入连接器的参数:
参数 | 描述 |
---|---|
名称 | 用于在 GeoEvent Manager 中引用的输入连接器的描述性名称。 |
输入文件夹数据存储 | 已注册的系统文件夹,将在该文件夹下找到文件。 |
输入目录 | 直接位于已注册的系统文件夹下的子文件夹。 如果已注册的系统文件夹下不存在某个子文件夹,则输入目录应留空。 |
输入文件过滤器 | 一种正则表达式模式,用于标识适合此输入的文件以进行合并和调整,从而创建要处理的事件数据记录。 默认为 .*\.csv,可匹配以文字后缀 (.csv) 结尾的任何文件名 (.*)。 虽然此参数并非必需且可以留空,但建议您指定一个模式,该模式可与任何文件的文件名匹配,只要该文件的方案与此输入已配置为使用的 GeoEvent 定义匹配,还建议排除您不希望输入合并的文件(按名称)。 |
将文件读取为文本行 | 指定应如何读取和解析文件的内容。 默认为是。
使用分隔文本时,建议您读取单独的文本行,而不是读取整个文件的内容。 假定每行文本表示一个完整的数据记录。 每行文本都必须以一个消息分隔符结尾。 |
每批的最大行数 (条件分析) | 每个批次或区间中从文件读取的最大行数。 默认为 1000 行。 如果每个事件记录包含许多属性,请减小此值以限制批量发送到文本适配器的数据量。 此参数在将文件读取为文本行设置为是时显示,设置为否时隐藏。 |
批刷新间隔(毫秒) (条件分析) | 从文件中读取另一批行之前要等待的毫秒数。 默认值为 500。 如果预计文件大小非常大或需要额外的时间来处理从文件中检索的每批行,请减小此值。 此参数在将文件读取为文本行设置为是时显示,设置为否时隐藏。 |
从文件开始处跳过的行数 (条件分析) | 从文件开始处跳过的行数。 默认值为 0。 因为一些行中不包含要处理的实际数据(例如,指定属性字段名称或数据类型的标题行),因此,如要跳过特定行数,可以增加此值。 此参数在将文件读取为文本行设置为是时显示,设置为否时隐藏。 |
默认空间参考 | 当从坐标不是假定的 WGS84 地理坐标系的纬度和经度值的属性字段值构造几何时使用的空间参考的熟知 ID (WKID),或接收的不包含空间参考的几何字符串。 还可以指定熟知文本 (WKT) 值或包含 WKID 或 WKT 的属性字段的名称。 |
消息分隔符 | 单个文字字符,表示事件数据记录的结束。 Unicode 值可用于指定字符分隔符。 该字符不应用引号括起。 换行符 (\n) 是常见的记录结束分隔符。 |
属性分隔符 | 用于将消息中的一个属性值与另一个属性值分开的单个文字字符。 Unicode 值可用于指定字符分隔符。 该字符不应用引号括起。 逗号是常见的属性分隔符。 |
传入数据包含 GeoEvent 定义 | 指定是否应将每个分隔行文本的第一个属性值用作 GeoEvent 定义的名称。 有关详细信息,请参阅上面的使用说明。
|
创建无法识别的事件定义 (条件分析) | 指定当具有指定名称的 GeoEvent 定义不存在时是否应创建新的 GeoEvent 定义。 当分隔文本文件包含来自不同类型传感器的事件记录时,第一个属性值用于指定事件类型,此属性值用作 GeoEvent 定义名称。
此参数在传入数据包含 GeoEvent 定义设置为是时显示,设置为否时隐藏。 |
创建 GeoEvent 定义 (条件分析) | 指定是否应将新的或现有的 GeoEvent 定义用于入站事件数据。 GeoEvent Server 需要 GeoEvent 定义,以了解入站事件数据属性字段和数据类型。
此参数在传入数据包含 GeoEvent 定义设置为否时显示,设置为是时隐藏。 |
GeoEvent 定义名称(新) (条件分析) | 分配给新 GeoEvent 定义的名称。 如果已存在具有指定名称的 GeoEvent 定义,则会使用现有的 GeoEvent 定义。 收到的第一个数据记录将用于确定后续数据记录的预期方案,将根据第一个数据记录的方案创建新的 GeoEvent 定义。 此参数在创建 GeoEvent 定义设置为是时显示,设置为否时隐藏。 |
GeoEvent 定义名称(现有) (条件分析) | 在调整接收数据以创建事件数据以供 GeoEvent 服务处理时使用的现有 GeoEvent 定义的名称。 此参数在创建 GeoEvent 定义设置为否时显示,设置为是时隐藏。 |
从字段构建几何 | 指定输入连接器是否应使用作为属性接收的坐标值构造点几何。 默认为否。
|
X 几何字段 (条件分析) | 入站事件数据中包含点位置 x 坐标部分(例如水平或经度)的属性字段。 此参数在从字段构建几何设置为是时显示,设置为否时隐藏。 |
Y 几何字段 (条件分析) | 入站事件数据中包含点位置 y 坐标部分(例如垂直或纬度)的属性字段。 此参数在从字段构建几何设置为是时显示,设置为否时隐藏。 |
Z 几何字段 (条件分析) | 入站事件数据中包含点位置 z 坐标部分(例如深度或高度)的字段的名称。 如果留空,则将省略 z 值,并将构建 2D 点几何。 此参数在从字段构建几何设置为是时显示,设置为否时隐藏。 |
预期日期格式 |
该模式用于匹配日期/时间值的预期字符串表示形式,并将它们转换为 Java 日期值。 模式的格式遵循 Java SimpleDateFormat 类约定。 而 GeoEvent Server 更偏好以 ISO 8601 标准表示的日期/时间值,通常被识别为日期值的日期/时间值的多个字符串表示可以转换为 Java 日期值,且无需指定预期日期格式模式。 其中包括:
如果收到的日期/时间值使用并非上述五种之一的约定表示,则必须指定一个预期日期格式模式以便 GeoEvent Server 了解如何调整日期/时间值。 |
数字格式化语言 | 从数据值格式化数字时用于区分区域设置敏感行为的区域设置标识符 (ID)。 默认值为安装 GeoEvent Server 的计算机的区域设置。 有关详细信息,请参阅 Java 支持的区域设置。 |
包括子文件夹 | 指定输入文件夹数据存储和输入目录(可选)下的子文件夹是否用于搜索文件。 默认为是,但是,将具有不同方案的数据组织到不同的文件夹中并将此参数更改为否可以禁用递归搜索,从而实现更简单的配置。
|
处理后删除文件 | 指定在处理内容后是否删除已注册系统文件夹中的文件。 请注意,即使无法调整文件的内容,也不会创建任何事件记录,也不会发生实时事件处理,入站传输仍将删除已成功读取内容的文件。 默认为否。
如果输入连接器的属性已更改并保存,或者输入已停止并重新启动(例如,重新启动 ArcGIS GeoEvent Server 服务时),则将从文件开头重新读取未删除的文件。 |