YamlTreeReader

YamlTreeReader

YAML을 개별 Record 객체로 파싱하는 리더예요. 각 레코드는 잘 구성된 YAML일 것으로 기대하며, FlowFile의 내용은 여러 레코드(각각 잘 구성된 YAML 배열 또는 YAML 객체)로 이루어질 수 있어요.

출처: Snowflake 문서 — YamlTreeReader

본문

설명

YAML을 개별 Record 객체로 파싱해요. 리더는 각 레코드가 잘 구성된 YAML일 것으로 기대하지만, FlowFile의 내용은 여러 레코드(각각 잘 구성된 YAML 배열 또는 YAML 객체)로 구성될 수 있어요. 배열이 나타나면 그 배열의 각 요소가 별도의 레코드로 취급돼요. 구성된 스키마에 YAML에 없는 필드가 있으면 null 값이 사용돼요. 반대로 YAML에 스키마에 없는 필드가 있으면 그 필드는 건너뛰어져요. 이 컨트롤러 서비스는 YAML 앨리어스(alias) 사용 해석을 지원하지 않는다는 점에 유의하세요. 어떤 앨리어스든 문자열로 취급돼요. 자세한 내용과 예시는 컨트롤러 서비스 사용법을 참고하세요.

태그

parser, reader, record, tree, yaml

속성 (Properties)

아래 목록에서 필수 속성은 별표(*)로 표시돼요. 그 외 속성은 선택 항목이고, 기본값과 NiFi Expression Language 지원 여부도 함께 표시돼요.

표시 이름 API 이름 기본값 허용 값 설명
Allow Comments * Allow Comments false true, false YAML 문서를 파싱할 때 주석을 허용할지 여부예요.
Date Format Date Format Date 필드를 읽고 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 epoch 이후의 밀리초 수로 가정해요. 지정한다면 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요(예: 01/01/2017처럼).
Max String Length * Max String Length 20 MB YAML 문서를 파싱할 때 문자열 값의 최대 허용 길이예요.
Schema Access Strategy * Schema Access Strategy infer-schema Infer Schema, Use 'Schema Name' Property, Use 'Schema Text' Property, Schema Reference Reader 데이터를 해석하는 데 사용할 스키마를 어떻게 얻을지 지정해요.
Schema Branch Schema Branch Schema Registry 속성에서 스키마를 찾을 때 사용할 브랜치 이름을 지정해요. 지원하지 않으면 이 값은 무시돼요.
Schema Name Schema Name ${schema.name} Schema Registry 속성에서 찾을 스키마 이름을 지정해요.
Schema Reference Reader * Schema Reference Reader Schema Reference Identifier를 결정하기 위해 FlowFile 속성이나 내용을 읽는 책임을 가진 서비스 구현이에요.
Schema Registry Schema Registry Schema Registry에 사용할 Controller Service를 지정해요.
Schema Text Schema Text ${avro.schema} Avro 형식 스키마의 텍스트예요.
Schema Version Schema Version Schema Registry에서 찾을 스키마 버전을 지정해요. 지정하지 않으면 최신 버전을 가져와요.
Time Format Time Format Time 필드를 읽고 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 epoch 이후의 밀리초 수로 가정해요. 지정한다면 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요(예: 18:04:15처럼).
Timestamp Format Timestamp Format Timestamp 필드를 읽고 쓸 때 사용할 형식을 지정해요. 지정하지 않으면 epoch 이후의 밀리초 수로 가정해요. 지정한다면 Java java.time.format.DateTimeFormatter 형식과 일치해야 해요(예: 01/01/2017 18:04:15처럼).
Schema Application Strategy * schema-application-strategy SELECTED_PART Whole JSON, Selected Part 스키마가 전체 JSON에 대해 정의되는지, 아니면 "Starting Field Name"에서 시작하는 선택된 부분에 대해 정의되는지 지정해요.
Schema Inference Cache schema-inference-cache 스키마를 추론할 때 사용할 Schema Cache를 지정해요. 채워져 있지 않으면 매번 스키마를 추론해요. 캐시를 지정하면 먼저 캐시를 확인하고, 적용 가능한 스키마를 찾으면 그걸 사용해요.
Starting Field Name starting-field-name 처리를 시작할 특정 중첩 필드(배열 또는 객체)로 건너뛰어요.
Starting Field Strategy * starting-field-strategy ROOT_NODE Root Node, Nested Field 루트 노드에서 처리를 시작할지, 지정된 중첩 노드에서 시작할지 정해요.

상태 관리 (State management)

이 구성 요소는 상태를 저장하지 않아요.

제한 (Restricted)

이 구성 요소는 제한되지 않아요.

시스템 리소스 고려 사항 (System Resource Considerations)

이 구성 요소는 시스템 리소스 고려 사항을 명시하지 않아요.

더 알아보기 (Learn more)