JsonTreeReader

説明

JSON を個々の Record オブジェクトに解析します。読者は各記録が整形式 JSON であることを期待しますが、 FlowFile の内容は、一般的な 'JSON-per-line' 形式のように、各記録が整形式の JSON 配列または JSON オブジェクトで、それらの間に任意の空白を持つ多数の記録で構成されているかもしれません。配列に出会った場合、その配列の各要素は個別の記録として扱われます。構成されているスキーマに、 JSON に存在しないフィールドが含まれている場合、NULL 値が使用されます。JSON にスキーマに存在しないフィールドが含まれている場合、そのフィールドはスキップされます。詳しい情報と使用例は、Controller Serviceの使用方法をご参照ください。

タグ

json, parser, reader, record, tree

プロパティ

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

表示名

API 名前

デフォルト値

許容値

説明

コメントを許可 *

コメントを許可

false

  • true

  • false

JSON ドキュメントのパース時にコメントを許可するかどうか

日付形式

日付形式

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

文字列の最大の長さ *

最大文字列長

20 MB

JSON ドキュメントをパースする際に許容される文字列値の最大長。

時刻形式

時刻形式

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のようにすべて':'文字で区切られます)。

スキーマアクセス戦略 *

schema-access-strategy

infer-schema

  • スキーマの推測

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

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

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

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

スキーマ アプリケーション ストラテジー *

schema-application-strategy

SELECTED_PART

  • 全体 JSON

  • 選択された部分

スキーマを JSON 全体に対して定義するか、「開始フィールド名」から始まる選択部分に対して定義するかを指定します。

スキーマ支店

schema-branch

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

スキーマ 推論 キャッシュ

schema-inference-cache

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

スキーマ名

schema-name

${schema.name}

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

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

schema-reference-reader

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

スキーマレジストリ

schema-registry

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

スキーマテキスト

schema-text

${avro.schema}

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

スキーマバージョン

schema-version

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

開始フィールド名

starting-field-name

与えられたネストされた JSON フィールド (配列またはオブジェクト) にスキップして処理を開始します。

先発フィールドストラテジー *

starting-field-strategy

ROOT_NODE

  • ルート ノード

  • ネストフィールド

ルート・ノードまたは指定した入れ子ノードから処理を開始します。

状態管理

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

制限あり

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

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

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