XMLReader

描述

读取 XML 内容并创建 Record 对象。记录应位于第二级 XML 数据中,嵌入在封闭的根标签中。

标签

parser、reader、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

  • false

当“架构访问策略”为“推断架构”且此属性为“true”时,XML 属性将被解析并作为新字段添加到记录中。当推断出架构但此属性为“false” 时,XML 属性及其值将被忽略。

期望记录为数组 *

record_format

false

  • false

  • true

  • 使用属性“xml.stream.is.array”

此属性用于定义读取器是否应将 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

指定要在架构注册表中查找的架构版本。如果未指定,则将检索架构的最新版本。

状态管理

此组件不存储状态。

受限

此组件不受限制。

系统资源注意事项

此组件未指定系统资源注意事项。

语言: 中文