XMLReader

설명

XML 내용을 읽고 레코드 오브젝트를 생성합니다. 레코드는 둘러싸는 루트 태그에 포함된 XML 데이터의 두 번째 레벨에서 예상됩니다.

태그

parser, reader, record, xml

속성

아래 목록에서 필수 속성에는 별표(*)가 표시되어 있습니다. 다른 속성은 선택 사항으로 간주됩니다. 이 테이블에는 기본값과 속성이 NiFi 식 언어를 지원하는지 여부도 표시됩니다.

표시 이름

API 이름

기본값

허용되는 값

설명

Date Format

Date Format

날짜 필드를 읽거나 쓸 때 사용할 형식을 지정합니다. 지정하지 않으면 날짜 필드는 epoch(1970년 1월 1일 자정, GMT 시간) 이후의 밀리초 수로 간주됩니다. 지정한 경우 값은 Java java.time.format과 일치해야 합니다. DateTimeFormatter 형식(예: 01/01/2017과 같이 두 자릿수의 월을 MM/d d/yyyy로 표시한 후, 두 자릿수의 일을 이어서 표시하고, 네 자릿수의 연도를 추가하며, 모든 숫자는 ‘/’ 기호로 구분됨)입니다.

Schema Access Strategy *

Schema Access Strategy

infer-schema

  • ‘Schema Name’ 속성 사용

  • ‘Schema Text’ 속성 사용

  • Schema Reference Reader

  • Infer Schema

데이터 해석에 사용할 스키마를 가져오는 방법을 지정합니다.

Schema Branch

Schema Branch

Schema Registry 속성에서 스키마를 조회할 때 사용할 분기의 이름을 지정합니다. 선택한 Schema Registry가 분기를 지원하지 않는 경우 이 값은 무시됩니다.

Schema Name

Schema Name

${schema.name}

Schema Registry 속성에서 조회할 스키마의 이름을 지정합니다

Schema Reference Reader *

Schema Reference Reader

스키마 참조 식별자를 결정하기 위해 FlowFile 특성 또는 내용을 읽는 역할을 담당하는 서비스 구현

Schema Registry

Schema Registry

Schema Registry에 사용할 컨트롤러 서비스를 지정합니다

Schema Text

Schema Text

${avro.schema}

Avro 형식의 스키마 텍스트

Schema Version

Schema Version

Schema Registry에서 조회할 스키마 버전을 지정합니다. 지정하지 않으면 최신 버전의 스키마가 검색됩니다.

시간 형식

시간 형식

시간 필드를 읽거나 쓸 때 사용할 형식을 지정합니다. 지정하지 않으면 시간 필드는 epoch(1970년 1월 1일 자정, GMT 시간) 이후의 밀리초 수로 간주됩니다. 지정하는 경우 값은 Java java.time.format과 일치해야 합니다. DateTimeFormatter 형식(예: 18:04:15와 같이 24시간 형식의 두 자리 시, 두 자리 분, 두 자리 초를 모두 ‘:’ 문자로 구분한 HH:mm:ss)입니다.

타임스탬프 형식

타임스탬프 형식

타임스탬프 필드를 읽거나 쓸 때 사용할 형식을 지정합니다. 지정하지 않으면 타임스탬프 필드는 epoch(1970년 1월 1일 자정, GMT 시간) 이후 밀리초 수로 간주됩니다. 지정된 경우, 값은 Java java.time.format.DateTimeFormatter 형식입니다(예: MM/dd/yyyy HH:mm:ss는 두 자리의 월, 그 다음에 두 자리의 일, 그 다음에 네 자리의 연도이며, 모두 ‘/’ 문자로 구분됩니다. 01/01/2017 18:04:15와 같이 그 다음에는 24시간 형식의 두 자리의 시간이, 그 다음에 두 자리의 분, 그 다음에 두 자리의 초가 ‘:’ 문자로 구분되어 이어집니다).

특성 접두사

attribute_prefix

이 속성을 설정하면 레코드에 추가할 때 특성 이름 앞에 접두사가 붙습니다.

내용 필드 이름

content_field_name

내용이 있는 태그(예: <field>내용</field>)가 스키마에서 중첩된 레코드로 정의된 경우 태그의 이름이 레코드의 이름으로 사용되며 이 속성의 값이 필드의 이름으로 사용됩니다. 내용이 있는 태그를 특성과 함께 구문 분석해야 하는 경우(예: <필드 속성=”123”>내용 </field>), 이를 레코드로 정의해야 합니다. 이 경우 태그의 이름이 레코드의 이름으로 사용되며 이 속성의 값은 원본 내용을 담고 있는 필드의 이름으로 사용됩니다. 특성 이름은 새 레코드 필드를 생성하는 데 사용되며, 그 내용은 특성 값이 됩니다. 자세한 내용은 XMLReader 컨트롤러 서비스 설명서의 ‘추가 세부 정보…’ 섹션을 참조하십시오.

XML 특성 구문 분석

parse_xml_attributes

true

  • true

  • false

‘Schema Access Strategy’이 ‘Infer Schema’이고 이 속성이 ‘true’인 경우 XML 특성이 구문 분석되어 새 필드로 레코드에 추가됩니다. 스키마가 추론되었지만 이 속성이 ‘false’인 경우 XML 특성과 해당 값은 무시됩니다.

Expect Records as Array *

record_format

false

  • false

  • true

  • ‘xml.stream.is.array’ 특성 사용

이 속성은 리더가 FlowFile 을 단일 레코드로 구성할지, 아니면 “래퍼 요소”가 있는 일련의 레코드로 구성할지를 정의합니다. XML 은 스트림에서 일련의 XML 문서를 직접 읽는 방법을 제공하지 않기 때문에, 많은 XML 문서를 연결한 다음 전체 XML blob을 “래퍼 요소”로 감싸는 방식으로 결합하는 것이 일반적입니다. 이 속성은 리더가 FlowFile 을 단일 레코드로 구성할지 아니면 무시할 “래퍼 요소”가 있는 일련의 레코드로 구성할지를 지정합니다.

Schema Inference Cache

schema-inference-cache

스키마를 추론할 때 사용할 스키마 캐시를 지정합니다. 스키마가 채워지지 않으면 매번 추론됩니다. 그러나 캐시를 지정하면 먼저 캐시를 참조하고 해당 애플리케이션 스키마를 찾을 수 있으면 스키마를 추론하는 대신 캐시를 사용합니다.

상태 관리

이 구성 요소는 상태를 저장하지 않습니다.

제한됨

이 구성 요소는 제한되지 않습니다.

시스템 리소스 고려 사항

이 구성 요소는 시스템 리소스 고려 사항을 지정하지 않습니다.