XMLReader¶
설명¶
XML 내용을 읽고 레코드 오브젝트를 생성합니다. 레코드는 둘러싸는 루트 태그에 포함된 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 |
|
‘Schema Access Strategy’이 ‘Infer Schema’이고 이 속성이 ‘true’인 경우 XML 특성이 구문 분석되어 새 필드로 레코드에 추가됩니다. 스키마가 추론되었지만 이 속성이 ‘false’인 경우 XML 특성과 해당 값은 무시됩니다. |
Expect Records as Array * |
record_format |
false |
|
이 속성은 리더가 FlowFile 을 단일 레코드로 구성할지, 아니면 “래퍼 요소”가 있는 일련의 레코드로 구성할지를 정의합니다. XML 은 스트림에서 일련의 XML 문서를 직접 읽는 방법을 제공하지 않기 때문에, 많은 XML 문서를 연결한 다음 전체 XML blob을 “래퍼 요소”로 감싸는 방식으로 결합하는 것이 일반적입니다. 이 속성은 리더가 FlowFile 을 단일 레코드로 구성할지 아니면 무시할 “래퍼 요소”가 있는 일련의 레코드로 구성할지를 지정합니다. |
Schema Access Strategy * |
schema-access-strategy |
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에서 조회할 스키마 버전을 지정합니다. 지정하지 않으면 최신 버전의 스키마가 검색됩니다. |
상태 관리¶
이 구성 요소는 상태를 저장하지 않습니다.
제한됨¶
이 구성 요소는 제한되지 않습니다.
시스템 리소스 고려 사항¶
이 구성 요소는 시스템 리소스 고려 사항을 지정하지 않습니다.