[S/W] [NiFi] NiFi 활용, SFTP 파일 연계하기

김민성·2023년 2월 16일
0

NiFi 작업일지

목록 보기
5/6

<배경설명>

- NiFi는 현재 A 서버에 설치되어 있음

- A 서버는 B 서버에서 SFTP로 파일을 다운로드 받아, 그대로 C 서버로 업로드함

- 즉, 자료흐름은 B 서버 → A 서버 → C 서버임

- 어찌저찌한 사정으로 B 서버와 C 서버는 직접 통신이 불가하여, A 서버가 중계자 역할을 해야 함

- B 서버에서 파일을 가져올 때, 삭제할 권한이 없어서 중복되지 않게 파일을 가져와야 함

<NiFi 구성방법>

전체 모식도

1. ListSFTP : 원격지 서버에서 파일 목록만 생성

파일을 가져올 서버(B 서버)의 접속 정보 및 디렉터리 등을 설정

파일 목록을 얼마나 저장할 것인지, 언제 이후의 파일은 무시할 것인지를 설정

2. FetchSFTP : 파일 목록에 따라서 실제 파일을 가져옴

ListSFTP에서 가져온 파일을 실제로 옮기는 역학을 수행

Remote File은 ${path}/${filename} 으로 입력!

path와 filename은 기본적으로 NiFi에서 파일에 대해 생성하는 attribute임.

RELATIONSHIPS 에서는 파일을 가져오기 실패한 경우, terminate(종료) 시키도록 설정
retry 설정을 할 경우, 성공 할 때까지 / 특정한 횟수만큼 재시도도 가능함

3. PutSFTP : 원격지 서버로 파일을 전송

<후기>

쉘 스크립트 등으로 짜면 굉장히 복잡할 수 있었는데,

간편하게 구현 가능함.

profile
맛소금토일

0개의 댓글