ExecuteStreamCommand 2025.10.9.21 — 외부 명령 실행 프로세서

ExecuteStreamCommand 2025.10.9.21 — 외부 명령 실행 프로세서

ExecuteStreamCommand 프로세서는 NiFi 데이터 흐름에 외부 명령이나 스크립트를 유연하게 통합할 수 있게 해줘요. 들어오는 FlowFile의 내용을 파이프(piping) 방식처럼 실행되는 명령에 전달할 수 있어요.

출처: Snowflake 문서

본문

기능 — 일반 공개 (Generally Available)

Openflow Snowflake 배포는 AWS, Azure, GCP의 상용 리전에서 모든 계정에 제공돼요.

Openflow BYOC 배포는 AWS의 상용 리전에서 모든 계정에 제공돼요.

Bundle

org.apache.nifi | nifi-standard-nar

Description

ExecuteStreamCommand 프로세서는 NiFi 데이터 흐름에 외부 명령과 스크립트를 유연하게 통합할 수 있는 방법을 제공해요. ExecuteStreamCommand는 들어오는 FlowFile의 내용을 파이핑 방식과 유사하게 실행하는 명령에 전달할 수 있어요.

Tags

command, command execution, execute, stream

Input Requirement

REQUIRED

Supports Sensitive Dynamic Properties

true

Properties

Property Description
Argument Delimiter 명령의 인자를 구분하는 데 사용하는 구분자예요 [기본값: ;]. 단일 문자여야 해요
Command Arguments ; 문자로 구분해서 실행 파일에 전달할 인자예요
Command Path 실행할 명령을 지정해요. 실행 파일의 이름만 제공하면 사용자의 환경 PATH에 있어야 해요
Ignore STDIN true면 들어오는 flow file의 내용이 실행 중인 명령에 전달되지 않아요
Max Attribute Length 스트림 명령의 출력을 속성으로 라우팅할 때, 속성 값에 넣는 문자 수는 최대 이 값이에요. 속성은 메모리에 유지되므로 큰 속성은 빠르게 메모리 부족 문제를 일으키기 때문에 중요해요. 출력이 이 값보다 길면 잘라서 맞추게 돼요. 가능하면 더 작게 설정하는 걸 고려해보세요
Output Destination Attribute 설정하면 스트림 명령의 출력이 별도의 FlowFile 대신 원래 FlowFile의 속성에 들어가요. 그러면 'output stream'이나 'nonzero status' 관계는 더 이상 없어져요. 이 속성의 값이 출력 속성의 키가 돼요
Output MIME Type "mime.type" 속성에 설정할 값을 지정해요. 'Output Destination Attribute'가 설정돼 있으면 이 속성은 무시돼요
Working Directory 명령을 실행할 때 현재 작업 디렉터리로 사용할 디렉터리예요
argumentsStrategy 명령에 제공할 인자를 구성하는 전략이에요

Restrictions

Required Permission Explanation
execute code 운영자에게 NiFi가 가진 모든 권한을 가정해 임의의 코드를 실행할 수 있는 능력을 제공해요

Relationships

Name Description
nonzero status 반환 상태 코드가 0이 아닐 때 명령의 출력으로 생성된 flow file의 대상 경로예요. 이 관계로 라우팅된 모든 flow file은 불이익(penalized)을 받아요
original 원래 FlowFile이 라우팅돼요. 스크립트 실행 결과를 설명하는 새 속성이 추가돼요
output stream 반환 상태 코드가 0일 때 명령의 출력으로 생성된 flow file의 대상 경로예요

Writes attributes

Name Description
execution.command 실행된 명령의 이름
execution.command.args 세미콜론으로 구분된 인자 목록. 민감한 속성은 마스킹돼요
execution.status 명령 실행에서 반환된 종료 상태 코드
execution.error 명령 실행에서 반환된 모든 오류 메시지
mime.type 'Output MIME Type' 속성이 설정되고 'Output Destination Attribute'가 설정되지 않았을 때 출력의 MIME 타입을 설정해요

더 알아보기 (Learn more)