FlowFile Attribute 에 자동으로 값이 증가/감소하는 counter 를 만들어본다.

다른 flow 만들 때 지금 소개하는 방법은 그냥 그대로 사용하기에는 조금 무리가 있음.

아래와 같은 방법을 다른 곳에 응용해서 사용하길 바람

 

전체 flow 는 다음과 같음.

 

 

< GenerateFlowFile Properties >

 

 

 

< GenerateFlowFile Properties >

 

counter property 에 들어가 있는 식은 다음과 같다.

${counter:isNull():not():ifElse('${counter:plus(1)}','${literal("0")}')}

출처 : stackoverflow.com/a/60738526

 

 

 

해설 :

counter  라는 property 를 갖는 하나의 flowfile 이 계속 updateAttribute Processor 를 돌면서

counter property 값을 증가/감소시킨다.

updateattribute 를 몇 번 통과했는지를 counter 하는 거라고 보면 될 듯.

 

이슈 :

같은 flowfile 이 돌면서 업데이트되는 거라서,

서로 다른 flowfile 과 상관없이 독립적으로 count 함.

count 가 증가/감소하는 flowfile의 uuid 는 달라지지만, filename, content 등은 똑같음

분산 시스템에서는 각기 다른 노드위에서 각기 다른 flowfile 의 counter 가 증가하게 될 것임(...)

이슈 너무 큰거아님?ㅋㅋ

 

 

 

 

 

실행 후

 

 

 

 

UpdateAttribute 에서 나온 flowfile 을 살펴보면 다음과 같음

position 1 의 속성값

position 2 의 속성값

position 3 의 속성값

 

 

참고) updateAttribute 사용하는 방법

www.youtube.com/watch?v=c2SETJUWSUo&ab_channel=StevenKoon

 

 

+ Recent posts