XMLReader¶
描述¶
读取 XML 内容并创建 Record 对象。记录应位于第二级 XML 数据中,嵌入在封闭的根标签中。
属性¶
下表列出了各项属性,其中带星号 (*) 的为必需属性。其他属性视为可选属性。该表还指出了所有默认值以及属性是否支持 NiFi 表达式语言。
显示名称 |
API 名称 |
默认值 |
允许值 |
描述 |
---|---|---|---|---|
日期格式 |
日期格式 |
指定读取/写入“Date”字段时使用的格式。如果未指定,则将假定“Date”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,MM/dd/yyyy 表示两位数的月份,然后是两位数的日期、四位数的年份,全部由“/”字符分隔,如 01/01/2017)。 |
||
时间格式 |
时间格式 |
指定读取/写入“Time”字段时使用的格式。如果未指定,则将假定“Time”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,HH:mm:ss 表示 24 小时格式的两位小时数、两位分钟数和两位秒数,全部由“:”字符分隔,如 18:04:15)。 |
||
时间戳格式 |
时间戳格式 |
指定读取/写入“Timestamp”字段时使用的格式。如果未指定,则将假定“Timestamp”字段为自纪元(1970 年 1 月 1 日午夜 GMT)以来的毫秒数。如果指定,则该值必须与 Java java.time.format.DateTimeFormatter 格式相匹配(例如,MM/dd/yyyy HH:mm:ss 表示两位数的月份,然后是两位数的日期、四位数的年份,全部由“/”字符分隔;然后依次是 24 小时格式的两位小时数、两位分钟数和两位秒数,全部由“:”字符分隔,如 01/01/2017 18:04:15)。 |
||
属性前缀 |
attribute_prefix |
如果设置了此属性,则在将属性添加到记录时将在属性名称前面加上前缀。 |
||
内容的字段名称 |
content_field_name |
如果将带有内容(例如 <field>content</field>)的标签定义为架构中的嵌套记录,则标签的名称将用作记录的名称,此属性的值将用作该字段的名称。如果将带有内容的标签与属性(例如 <field attribute="123">content</field>)一起解析,则必须将它们定义为记录。在这种情况下,标签的名称将用作记录的名称,此属性的值将用作保存原始内容的字段的名称。该属性的名称将用于创建新的记录字段,其内容将是该属性的值。有关更多信息,请参阅 XMLReader 控制器服务文档的“其他详细信息...”部分。 |
||
解析 XML 属性 |
parse_xml_attributes |
true |
|
当“架构访问策略”为“推断架构”且此属性为“true”时,XML 属性将被解析并作为新字段添加到记录中。当推断出架构但此属性为“false” 时,XML 属性及其值将被忽略。 |
期望记录为数组 * |
record_format |
false |
|
此属性用于定义读取器是否应将 FlowFile 视为包含单个 Record,或是包含多个带有“封装元素”的 Record。由于 XML 本身不支持直接从流中读取一系列 XML 文档,因此通常的做法是将多个 XML 文档拼接起来,并用一个“封装元素”包裹整个 XML 块。此属性用于指示读取器是否应将 FlowFile 视为包含单个 Record,或是包含多个带有将被忽略的“封装元素”的 Record。 |
架构访问策略 * |
schema-access-strategy |
infer-schema |
|
指定如何获取用于解读数据的架构。 |
架构分支 |
schema-branch |
指定在“架构注册表”属性中查找架构时使用的分支名称。如果所选架构注册表不支持分支,则该值将被忽略。 |
||
架构推理缓存 |
schema-inference-cache |
指定推断架构时使用的架构缓存。如果未填充,则每次都会对架构进行推断。但是,如果指定了缓存,则将首先查询缓存,如果可以找到适用的架构,则将使用它而不是对架构进行推断。 |
||
架构名称 |
schema-name |
${schema.name} |
指定要在架构注册表属性中查找的架构的名称。 |
|
架构参考读取器 * |
schema-reference-reader |
服务实现,负责读取 FlowFile 属性或内容以确定架构参考标识符 |
||
架构注册表 |
schema-registry |
指定用于架构注册表的控制器服务 |
||
架构文本 |
schema-text |
${avro.schema} |
Avro 格式架构的文本 |
|
架构版本 |
schema-version |
指定要在架构注册表中查找的架构版本。如果未指定,则将检索架构的最新版本。 |
状态管理¶
此组件不存储状态。
受限¶
此组件不受限制。
系统资源注意事项¶
此组件未指定系统资源注意事项。