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로 표시한 후, 두 자릿수의 일을 이어서 표시하고, 네 자릿수의 연도를 추가하며, 모든 숫자는 ‘/’ 기호로 구분됨)입니다.

시간 형식

시간 형식

시간 필드를 읽거나 쓸 때 사용할 형식을 지정합니다. 지정하지 않으면 시간 필드는 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 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 Inference Cache

schema-inference-cache

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

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에서 조회할 스키마 버전을 지정합니다. 지정하지 않으면 최신 버전의 스키마가 검색됩니다.

상태 관리

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

제한됨

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

시스템 리소스 고려 사항

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