EvaluateJsonPath 프로세서
EvaluateJsonPath 프로세서
Snowflake Openflow의 EvaluateJsonPath 프로세서에 대한 문서예요. FlowFile의 콘텐츠에 대해 하나 이상의 JsonPath 표현식을 평가하는 프로세서예요.
출처: Snowflake 문서
본문
기능 — 일반 제공(Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 리전의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS 상용(Commercial) 리전의 모든 계정에서 사용할 수 있어요.
번들(Bundle)
org.apache.nifi | nifi-standard-nar
설명(Description)
FlowFile의 콘텐츠에 대해 하나 이상의 JsonPath 표현식을 평가해요. 그 표현식의 결과는 프로세서 구성에 따라 FlowFile 속성에 할당되거나 FlowFile 콘텐츠 자체에 기록돼요. JsonPath는 사용자 정의 속성을 추가해 입력하며, 속성 이름은 결과가 배치될 Attribute Name에 매핑돼요(Destination이 flowfile-attribute인 경우. 그렇지 않으면 속성 이름은 무시돼요). 속성 값은 유효한 JsonPath 표현식이어야 해요. Return Type 'auto-detect'는 구성된 destination에 기반해 결정해요. 'Destination'이 'flowfile-attribute'로 설정되면 'scalar' 반환 유형을 사용해요. 'Destination'이 'flowfile-content'로 설정되면 'JSON' 반환 유형을 사용해요. JsonPath가 JSON 배열이나 JSON 객체로 평가되는데 Return Type이 'scalar'면 FlowFile은 변경되지 않고 failure로 라우팅돼요. Return Type JSON은 제공된 JsonPath가 지정된 값으로 평가되면 스칼라 값을 반환할 수 있으며 일치(matched)로 라우팅돼요. Destination이 'flowfile-content'이고 JsonPath가 정의된 경로로 평가되지 않으면 FlowFile은 콘텐츠를 변경하지 않은 채 'unmatched'로 라우팅돼요. Destination이 'flowfile-attribute'이고 표현식이 아무것도 일치하지 않으면, 'Path Not Found Behaviour'가 'skip'으로 설정되지 않는 한 값이 빈 문자열인 속성이 만들어지며 FlowFile은 항상 'matched'로 라우팅돼요.
태그(Tags)
JSON, JsonPath, evaluate
입력 요구사항(Input Requirement)
REQUIRED
민감 동적 속성 지원(Supports Sensitive Dynamic Properties)
false
속성(Properties)
| 속성(Property) | 설명(Description) |
|---|---|
| Destination | JsonPath 평가 결과를 FlowFile 콘텐츠에 기록할지 FlowFile 속성에 기록할지 나타내요. 속성을 사용하려면 Attribute Name 속성을 지정해야 해요. flowfile-content로 설정하면 JsonPath를 하나만 지정할 수 있고 속성 이름은 무시돼요. |
| Max String Length | JSON 문서를 파싱할 때 문자열 값의 허용 최대 길이예요. |
| Null Value Representation | null 값으로 평가되는 JSON Path 표현식의 원하는 표현을 나타내요. |
| Path Not Found Behavior | destination이 'flowfile-attribute'로 설정될 때 누락된 JSON path 표현식을 처리하는 방법을 나타내요. 'warn'을 선택하면 JSON path 표현식을 찾지 못할 때 경고를 생성해요. 'skip'을 선택하면 일치하지 않는 JSON path 표현식의 속성을 생략해요. |
| Return Type | JSON Path 표현식의 원하는 반환 유형을 나타내요. 'auto-detect'를 선택하면 Destination이 'flowfile-content'일 때 'json', 'flowfile-attribute'일 때 'scalar'로 반환 유형을 설정해요. |
관계(Relationships)
| 이름(Name) | 설명(Description) |
|---|---|
| failure | FlowFile의 콘텐츠에 대해 JsonPath를 평가할 수 없을 때 FlowFile은 이 관계로 라우팅돼요. 예를 들어 FlowFile이 유효한 JSON이 아닌 경우예요. |
| matched | JsonPath가 성공적으로 평가되고 그 결과 FlowFile이 수정되면 FlowFile은 이 관계로 라우팅돼요. |
| unmatched | JsonPath가 FlowFile의 콘텐츠와 일치하지 않고 Destination이 flowfile-content로 설정되어 있으면 FlowFile은 이 관계로 라우팅돼요. |