ReplaceText
ReplaceText
FlowFile 내용에서 정규 표현식이나 리터럴 값을 검색해 일치하는 부분을 다른 값으로 바꾸는 프로세서예요. 텍스트를 앞뒤에 추가(append/prepend)하는 데도 쓸 수 있어요.
출처: Snowflake 문서
본문
번들 (Bundle)
org.apache.nifi | nifi-standard-nar
설명 (Description)
FlowFile 내용에서 일부 텍스트 값(정규 표현식/regex 또는 리터럴 값으로)을 검색하고, 그 값과 일치하는 내용 부분을 대체 값으로 바꿔 FlowFile의 내용을 갱신합니다. FlowFile 내용에 텍스트를 추가(append)하거나 앞에 붙이는(prepend) 데에도 사용할 수 있습니다.
태그 (Tags)
Change, Modify, Regex, Regular Expression, Replace, Text, Update
입력 요구사항 (Input Requirement)
REQUIRED
민감 동적 속성 지원 (Supports Sensitive Dynamic Properties)
false
속성 (Properties)
| 속성 (Property) | 설명 (Description) |
|---|---|
| Character Set | 파일이 인코딩된 Character Set입니다. |
| Evaluation Mode | 'Replacement Strategy'를 각 줄에 대해 별도로 실행할지(Line-by-Line) 전체 파일을 메모리에 버퍼링하고(Entire Text) 실행할지 결정합니다. |
| Line-by-Line Evaluation Mode | FlowFile의 모든 줄(Line-by-Line), 첫 줄(Header)만, 마지막 줄(Footer)만, 첫 줄(Header)을 제외하고, 또는 마지막 줄(Footer)을 제외하고 'Replacement Strategy'를 각 줄에 대해 별도로 실행합니다. |
| Maximum Buffer Size | 교체를 적용하기 위해 버퍼링할 최대 데이터 양(파일별 또는 줄별, Evaluation Mode에 따라 다름)을 지정합니다. 'Evaluation Mode'에서 'Entire Text'가 선택되고 FlowFile이 이 값보다 크면 FlowFile은 'failure'로 라우팅됩니다. 'Line-by-Line' 모드에서는 단일 줄이 이 값보다 크면 FlowFile이 'failure'로 라우팅됩니다. 기본값 1 MB가 제공되며 주로 'Entire Text' 모드용입니다. 'Line-by-Line' 모드에서는 8 KB 또는 16 KB 같은 값을 권장합니다. 'Replacement Strategy' 속성이 Append, Prepend, Always Replace 중 하나로 설정되면 이 값은 무시됩니다. |
| Regular Expression | FlowFile 내용에서 검색할 Search Value입니다. 'Literal Replace' 및 'Regex Replace' 매칭 전략에서만 사용됩니다. |
| Replacement Strategy | FlowFile의 텍스트 내용에서 무엇을 어떻게 바꿀지에 대한 전략입니다. |
| Replacement Value | 'Replacement Strategy'를 사용해 삽입할 값입니다. "Regex Replace"를 사용하면 정규 표현식 캡처 그룹에 대한 역참조가 지원되지만, 정규 표현식에 존재하지 않는 캡처 그룹을 참조하는 역참조는 리터럴 값으로 처리됩니다. 역참조는 Expression Language 를 사용해 '$1', '$2' 등으로 참조할 수도 있습니다. 이러한 변수는 "Standard" 속성 이름이 아니므로 단일 따옴표를 반드시 포함해야 합니다(속성 이름은 숫자·문자·밑줄만 포함하지 않는 한 따옴표로 묶어야 합니다). |
| Text to Append | Evaluation Mode 속성의 구성된 값에 따라 FlowFile 끝 또는 각 줄 끝에 추가할 텍스트입니다. |
| Text to Prepend | Evaluation Mode 속성의 구성된 값에 따라 FlowFile 시작 또는 각 줄 시작에 앞에 붙일 텍스트입니다. |
관계 (Relationships)
| 이름 (Name) | 설명 (Description) |
|---|---|
| failure | 갱신할 수 없었던 FlowFile이 이 관계로 라우팅됩니다. |
| success | 성공적으로 처리된 FlowFile이 이 관계로 라우팅됩니다. 여기에는 텍스트가 교체된 FlowFile과 그렇지 않은 FlowFile이 모두 포함됩니다. |
사용 사례 (Use cases)
- FlowFile의 모든 줄 끝에 텍스트를 추가합니다.
- FlowFile의 모든 줄 시작에 텍스트를 앞에 붙입니다.
- FlowFile에서 리터럴 문자열의 모든 항목을 다른 값으로 교체합니다.
- FlowFile에서 리터럴 문자열의 모든 항목을 변환합니다.
- FlowFile의 내용을 특정 텍스트로 완전히 교체합니다.