XMLReader

説明

XML コンテンツを読み取り、Record オブジェクトを作成します。記録は、 XML データの第 2 レベルで、ルートタグに埋め込まれます。

タグ

パーサー、リーダー、記録、xml

プロパティ

以下のリストでは、必要なプロパティをアスタリスク (*) で表示しています。その他のプロパティはオプションと見なされます。この表は、任意のデフォルト値と、そのプロパティが NiFi 式言語に対応しているかどうかも示します。

表示名

API 名前

デフォルト値

許容値

説明

日付形式

日付形式

Dateフィールドの読み書きに使用する形式を指定します。指定しない場合、Dateフィールドはエポック(1970年1月1日午前0時 GMT) からのミリ秒数とみなされます。指定された場合、値はJava java.time.format.DateTimeFormatter 形式と一致する必要があります(例えば、 MM/dd/yyyyは、2桁の月、2桁の日、4桁の年が続き、2017/01/01のようにすべて'/'文字で区切られます)。

時刻形式

時刻形式

Timeフィールドの読み書き時に使用する形式を指定します。指定しない場合、Timeフィールドはエポック(1970年1月1日午前0時 GMT) からのミリ秒数とみなされます。指定された場合、値はJavaのjava.time.format.DateTimeFormatter 形式と一致しなければなりません(例えば、 HH:mm:ssは、24時間形式の2桁の時、2桁の分、2桁の秒の順に続き、18:04:15のようにすべて':'文字で区切られます)。

タイムスタンプ形式

タイムスタンプ形式

Timestamp フィールドの読み書き時に使用する形式を指定します。指定しない場合、タイムスタンプフィールドはエポック(1970年1月1日午前0時 GMT) からのミリ秒数とみなされます。指定された場合、値はJavaのjava.time.format.DateTimeFormatter 形式と一致しなければなりません(例えば、MM/dd/yyyy HH: mm:ssは、2桁の月、2桁の日、4桁の年が続き、すべて'/'文字で区切られ、その後に24時間形式の2桁の時間、2桁の分、2桁の秒が続き、2017/01/01 18:04:15のようにすべて':'文字で区切られます)。

属性プレフィックス

attribute_prefix

このプロパティがセットされている場合、属性名が記録に追加されるときにプレフィックスが付加されます。

コンテンツのフィールド名

content_field_name

コンテンツを持つタグ(例: <フィールド>コンテンツ</field>)がスキーマのネストされた記録として定義されている場合、タグの名前は記録の名前として使用され、このプロパティの値はフィールドの名前として使用されます。コンテンツを持つタグが属性とともに解析される場合(例:<フィールド 属性="123">コンテンツ</field>)、それらは記録として定義されなければなりません。このような場合、タグの名前が記録の名前として使用され、このプロパティの値が元のコンテンツを保持するフィールドの名前として使用されます。属性名は新しい記録フィールドを作成するために使用され、そのフィールドの内容は属性の値となります。詳細情報については、 XMLReader Controller Serviceのドキュメントの「Additional Details...」セクションを参照してください。

XML 属性の解析

parse_xml_attributes

true

  • true

  • false

「スキーマ・アクセス戦略」が「スキーマを推測する」であり、このプロパティが「true」である場合、 XML 属性が解析され、新しいフィールドとして記録に追加されます。スキーマが推測されるが、このプロパティが'false'である場合、 XML 属性とその値は無視されます。

記録を配列として期待 *

record_format

false

  • false

  • true

  • 属性 'xml.stream.is.array' を使用します。

このプロパティは、リーダーが FlowFile を、単一の記録で構成されることを期待するのか、「ラッパー要素」を持つ一連の記録で構成されることを期待するのかを定義します。XML は、ストリームから一連の XML ドキュメントを直接読み取る方法を提供していないため、多くの XML ドキュメントを連結して組み合わせ、 XML blob全体を「ラッパー要素」でラップするのが一般的です。このプロパティは、読み手が FlowFile を、単一の記録から構成されることを期待するのか、あるいは無視される「ラッパー要素」を持つ一連の記録から構成されることを期待するのかを指示します。

スキーマアクセス戦略 *

schema-access-strategy

infer-schema

  • 'スキーマ名' プロパティの使用

  • 'スキーマテキスト' プロパティの使用

  • スキーマ リファレンス リーダー

  • スキーマの推測

データの解釈に使用するスキーマの取得方法を指定します。

スキーマ支店

schema-branch

スキーマ・レジストリのプロパティでスキーマを検索する際に使用するブランチの名前を指定します。選択したスキーマ・レジストリが分岐をサポートしていない場合、この値は無視されます。

スキーマ 推論 キャッシュ

schema-inference-cache

スキーマを推測する際に使用するスキーマ・キャッシュを指定します。未入力の場合、スキーマは毎回推論されます。しかし、キャッシュが指定された場合、まずキャッシュが参照され、該当するスキーマが見つかれば、スキーマを推測する代わりにそのキャッシュが使用されます。

スキーマ名

schema-name

${schema.name}

スキーマ・レジストリのプロパティで検索するスキーマの名前を指定します。

スキーマ リファレンス リーダー *

schema-reference-reader

FlowFile 属性またはコンテンツを読み取ってスキーマ参照識別子を決定する責任を負うサービス実装。

スキーマレジストリ

schema-registry

スキーマレジストリで使用するController Serviceを指定します。

スキーマテキスト

schema-text

${avro.schema}

Avro形式のスキーマのテキスト

スキーマバージョン

schema-version

スキーマ・レジストリで検索するスキーマのバージョンを指定します。指定しない場合は、スキーマの最新バージョンが取得されます。

状態管理

このコンポーネントは状態を保存しません。

制限あり

このコンポーネントには制限はありません。

システムリソースに関する考察

このコンポーネントは、システムリソースを考慮したものではありません。