표현식 언어를 사용하는 매개 변수를 추가 할 때 표현식 언어가 평가되는 컨텍스트를 이해하는 것이 중요합니다. 표현식은 항상 매개 변수를 참조하는 프로세스 또는 컨트롤러 서비스의 컨텍스트에서 평가됩니다. 예를 들어 이름 Time이 있는 Parameter가 값으로 추가 되는 시나리오를 가정 해보십시오 ${now()}. Expression Language는 평가 될 때 시스템 시간을 결정하기위한 호출을 발생시킵니다. 매개 변수로 추가되면 매개 변수가 추가 될 때 시스템 시간이 평가되지 않고 프로세서 또는 컨트롤러 서비스가 표현식을 평가할 때 평가됩니다. 즉, 프로세서에 값이 설정된 속성이있는 #{Time}경우 해당 속성의 값이 다음과 같이 설정된 것과 똑같은 방식으로 작동합니다.${now()}. 속성이 참조 될 때마다 다른 타임 스탬프가 생성됩니다.
또한 일부 속성은 식 언어를 허용하지 않는 반면 다른 속성은 식 언어를 허용하지만 FlowFile 특성에 대해 식을 평가하지 않습니다. 작동 방식을 이해하는 데 도움이되도록 File값이 인 매개 변수를 고려하십시오 ${filename}. 그런 다음 각각 다른 식 언어 범위와 파일 이름이 test.txt. 각 속성이로 설정되어 있으면 #{File}다음 표에 결과 값이 나와 있습니다.
구성된 속성 값표현 언어 범위효과적인 재산 가치메모
#{파일} | FlowFile 속성 | test.txt | 파일 이름은 filename속성 을보고 확인됩니다 . | ||||
#{파일} | 가변 레지스트리 만 | 빈 문자열 | FlowFile 속성은 범위에 없으며 "filename"이라는 변수 레지스트리에 변수가 없다고 가정합니다. | ||||
#{파일} | 없음 | $ {파일 이름} | 리터럴 텍스트 "$ {filename}"은 평가되지 않습니다. 프로세스 그룹에 매개 변수 컨텍스트 할당 구성 요소가 매개 변수를 참조하려면 먼저 해당 프로세스 그룹에 매개 변수 컨텍스트를 할당해야합니다. 할당되면 해당 프로세스 그룹 내의 프로세서 및 컨트롤러 서비스는 해당 매개 변수 컨텍스트 내의 매개 변수 만 참조 할 수 있습니다. 프로세스 그룹에는 하나의 매개 변수 컨텍스트 만 할당 할 수있는 반면, 주어진 매개 변수 컨텍스트는 여러 프로세스 그룹에 할당 할 수 있습니다.
![]() ![]() ![]()
|
'기술_Nifi' 카테고리의 다른 글
매개 변수 참조 구문 (0) | 2022.08.08 |
---|---|
매개 변수 컨텍스트 (0) | 2022.08.08 |
배치 지향 프로세스 그룹 연결 (0) | 2022.08.07 |
FlowFile 동시성 (0) | 2022.08.07 |
댓글 탭 (0) | 2022.08.07 |