实施指南 › 适配器配置规范 › DataSourceInterface 部分
DataSourceInterface 部分
DataSourceInterface 部分包括用于指定适配器和数据源(度量工具、CRM、系统日志等)之间的连接和连接类型的属性,分为两种主要类型:文件接口和 SQL 接口。
文件接口
文件适配器可用来从日志文件、排定的报告或其他任何基于文本的文件检索数据,DataSourceInterface 定义了解析来自文件数据源的信息并将其提取到字段中的规则。
DataSourceInterface 部分还定义了适配器处理源文件的方式:如果只是为适配器创建的,是否删除原始文件,或者,是否保留该数据以用于其他用途,等等。
XML 结构:
<DataSourceInterface WorkFileName="MyWorkingFile.txt" >
<Files>
<File
IsActive="yes"
InputFormat="events"
Path="D:\adapters\sample_data\"
NamePattern="adapterXXX*.log"
DeleteFileAfterProcessing="no"
Delimiters=","
IgnoreRedundantDelimiters ="no"
TitleExists="no"
SleepTime="10">
</File>
</Files>
</DataSourceInterface>
- WorkFileName -(可选)。 DeleteFileAfterProcessing 设为‘“no”时 - 复制文件并命名为此名称;设为“yes”时 - 将文件重命名为此名称。 如果未指定,将采用默认值(“WorkFile.txt”)。
- Files - 文件元素的集合(在一个适配器中可以定义多个文件)。
- File - 指定文件属性。
- IsActive -(可选)[yes/no]。 定义此文件是否处于激活状态(设为“no”时,将不读取此文件)。
- InputFormat - 与该文件关联的 InputFormat。 适配器使用 InputFormat 来从数据源提取数据。
- Path - 到源数据文件的位置的路径。
- NamePattern - 指定数据源文件名。 如果多个文件使用相同的输入格式,可以使用通配符。
- DeleteFileAfterProcessing [yes|no] - 适配器处理源文件的方式。 如果设为“yes”,那么仅为适配器创建的文件在处理后可以删除。 文件将被重命名、处理和删除。如果设为“no”,将复制文件并对复制的文件进行处理。 如果有新记录附加到此文件结尾,适配器将在下一循环中将这些新记录复制到工作文件中。 如果没有新记录附加到此文件,适配器将搜索名称模式相同且按词典顺序排列时排在后面的第一个文件。 如果适配器找到此类文件,它将继续使用此文件。 即使有新记录附加到此文件,适配器也不会恢复到前一个文件。 如果您想保持源文件的完整性,请使用“no”。
- InitialFileName - 适配器搜索指定模式的文件时的第一个文件的名称。 如果 NamePattern 包含通配符,而且您不希望适配器读取旧文件时,请使用此属性。
- Delimiters -(可选)。 根据哪些数据行将解析到字段中,充当分隔符的一个或多个字符。如果未指定其他值,将使用默认值“\t”。
- IgnoreRedundantDelimiters -(可选)[yes/no]。 如果设为“yes”,连续分隔符将被视为一个分隔符;否则,将在分隔符之间创建一个空白字段。
- RegExForParser -(可选)。 用来从数据源提取字段的正则表达式(代替之前指定的分隔符)。 例如:
<File
….
RegExForParser="^(.{8}) (.{6}) (?:[ ])*([0-9]+) "
/>
有关详细信息,请参阅正则表达式的相关文档。
- TitleExists -(可选)[yes/no] 指定数据源文件中的第一个非空行是否为标题行。 该标题可由适配器在解析数据时使用。
- SleepTime - 指定检索数据的时间间隔(以秒为单位),即适配器从源数据文件检索数据时间隔的秒数。
- LogicLineDefinition -(可选)
<File
….
<LogicLineDefinition
FirstLine="Job server:.*"
NumberOfLines="5"
/>
/>
当数据集是从数行而非一行生成时,下列属性定义了提取数据的起点、终点以及构成数据的行数:
- AllFile -(可选)[yes/no],设为“yes”时,所有文件被视为一个记录、一个逻辑行。
- FirstLine -(可选)定义逻辑行的第一行的正则表达式。 指定它后可以指定也可以不指定 LastLine 和/或 NumberOfLines。
- LastLine -(可选)定义逻辑行的最后一行的正则表达式。 指定它后可以指定也可以不指定 FirstLine 和/或 NumberOfLines。
- NumberOfLines -(可选)逻辑行上的行数。 指定它后可以指定也可以不指定 FirstLine 和/或 LastLine。
- MatchCase -(可选)[yes/no] 定义正则表达式匹配时是否区分大小写。