FILE 아웃바운드 룰

개요

FILE 아웃바운드 룰은 로컬 파일 시스템에 접근하여 파일을 읽거나 쓰기 위한 규칙을 정의합니다. 배치 처리, 파일 기반 데이터 교환 등에 사용됩니다.

FILE 아웃바운드 룰 생성

리소스 트리에서 원하는 거래 또는 거래그룹의 컨텍스트 메뉴를 열고 [리소스 생성] > [아웃바운드 룰] > [FILE 생성]을 선택합니다.

outbound rule create db
  • ① 기본 정보 설정

    모든 아웃바운드 룰에 공통으로 적용되는 설정 항목입니다. 설정 방법은 공통 설정 항목을 참고합니다.

  • ② 요청/응답 메시지 설정

    아웃바운드 룰의 요청 및 응답 메시지를 설정합니다. 설정 방법은 요청/응답 메시지 설정을 참고합니다.

  • ③ 상세 옵션 설정

    FILE 아웃바운드 룰의 상세 옵션을 설정합니다. 상세 옵션 영역은 파일 룰 타입 설정에 따라 설정 항목의 구성이 달라집니다.

    항목 설명

    파일 룰 타입 *

    FILE 작업 유형입니다.

    • READ: 파일을 읽습니다.

    • WRITE: 파일을 기록합니다.

    READ 타입 선택 시 옵션 설정은 READ 타입 상세 옵션 설정을, WRITE 타입 선택 시 옵션 설정은 WRITE 타입 상세 옵션 설정을 참고합니다.

READ 타입 상세 옵션 설정

파일 룰 타입을 READ로 선택한 경우의 상세 옵션 화면입니다.

outbound rule file read advanced options
항목 설명

파일 경로 *

파일이 위치한 디렉터리 경로를 매핑합니다.

파일 이름 *

처리할 파일 이름을 매핑합니다. 와일드카드(*, ?) 사용이 가능합니다.

읽기 제외할 파일 패턴

처리에서 제외할 파일의 패턴을 매핑합니다.

하위 폴더 조회 여부

하위 디렉터리의 파일도 포함할지 여부를 선택합니다. 다음 중에서 선택 가능합니다.

  • 조회

  • 조회 안 함

  • <매핑으로 선택>

파일 인코딩

파일의 인코딩 설정입니다. 다음 중에서 선택 가능합니다.

  • UTF-8

  • UTF-16

  • ISO-8859-1

  • US-ASCII

  • <매핑으로 선택>

Flag 파일 타입

파일 처리 완료를 나타내는 Flag 파일 설정입니다.

  • NONE: Flag 파일을 사용하지 않습니다. (기본값)

  • Extension: 특정 확장자를 가진 Flag 파일을 사용합니다. 설정 시 확장자를 지정해야 합니다. (예: .done, .flag)

  • File Name: 특정 파일 이름의 Flag 파일을 사용합니다. 설정 시 파일 이름을 매핑해야 합니다.

Flag 파일 타입을 Extension 또는 File Name으로 선택한 경우 빈 값을 입력하면 유효성 검증에 실패합니다.

데이터 모드

파일의 데이터 처리 방식을 지정합니다.

  • BULK: 파일 전체 내용을 메시지 필드에 매핑합니다.

  • INFO: 파일 내용은 읽지 않고 파일 정보만 조회합니다. 파일의 경로, 이름, 크기, 인코딩 정보를 조회할 수 있습니다.

  • SKIP: 파일 내용 처리를 건너뛰고 후처리(이동, 삭제 등)만 수행합니다.

파일 처리 순서

여러 파일을 처리할 때 처리 순서를 지정합니다.

  • 시스템에서 읽어오는 대로: 별도의 정렬 없이 시스템에서 읽어오는 순서대로 처리합니다. (기본값)

  • 이름: 파일 이름을 기준으로 정렬합니다.

  • 수정일: 파일 수정 날짜를 기준으로 정렬합니다.

정렬

'파일 처리 순서' 필드를 이름 또는 수정일로 선택한 경우 정렬 방향을 지정합니다.

  • 오름차순

  • 내림차순

최대 읽기 파일 수

파일을 읽을 때 한 번에 처리할 최대 파일 수를 입력합니다.

파일 읽을 방법

데이터 모드가 BULK인 경우에만 표시됩니다. 파일 내용을 어떻게 읽을지 설정합니다.

  • Data Object: 파일의 전체 내용을 읽어 출력 메시지의 지정된 필드에 저장합니다.

  • Attachment: 파일 내용을 메시지의 첨부로 추가합니다.

추가 실행

파일 처리 완료 후 수행할 동작을 지정합니다.

  • 설정 안 함: 아무 동작도 수행하지 않습니다. (기본값)

  • 삭제: 파일을 삭제합니다.

  • 이동: 파일을 다른 디렉터리로 이동합니다.

  • 이동 후 파일 이름 변경: 파일을 다른 디렉터리로 이동하고 이름을 변경합니다.

  • 파일 이름 뒤에 확장자 추가: 파일에 확장자를 추가합니다. (예: .done)

  • 파일 이름 변경: 파일 이름을 변경합니다.

응답 메시지 매핑

FILE 작업 결과를 응답 메시지 필드에 매핑합니다.

  • 파일 경로: 처리된 파일의 전체 경로를 매핑할 필드입니다.

  • 파일 이름: 처리된 파일 이름을 매핑할 필드입니다.

  • 파일 인코딩: 파일의 인코딩 정보를 매핑할 필드입니다.

  • 파일 내용: 파일 내용을 매핑할 필드입니다. (READ-BULK 모드에서만 설정)

  • 파일 크기: 파일 크기를 매핑할 필드입니다. (READ-INFO 모드에서만 설정)

응답 메시지 매핑 버튼은 응답 메시지가 1개 이상 설정되어 있어야 활성화됩니다.

'추가 실행' 필드에서 다음 동작을 선택한 경우 처리 후 동작 파라미터를 설정해야 합니다. 파라미터는 필드 매핑 또는 표현식으로 동적으로 설정할 수 있습니다.

동작 파라미터 설명

이동

이동할 대상 디렉터리 경로를 매핑합니다.

이동 후 파일 이름 변경

이동할 대상 디렉터리와 새 파일 이름을 매핑합니다. (경로/파일 이름 형식)

파일 이름 뒤에 확장자 추가

추가할 확장자를 매핑합니다. (예: .done)

파일 이름 변경

새 파일 이름을 매핑합니다.

READ 타입 상세 옵션 설정 예시

다음은 Flag 파일 타입을 Extension으로 지정하고, 확장자를 .done으로 설정한 경우의 예시입니다.

데이터 파일: data_20250205.csv
Flag 파일: data_20250205.csv.done

다음은 데이터 모드를 Skip으로 선택하고, 처리 후 동작을 이동으로 설정한 경우의 예시입니다.

시나리오: 파일 이동만 수행
데이터 모드: Skip
추가 실행: 이동
처리 후 동작 파라미터: /archive

→ 파일 내용은 읽지 않고 /archive 디렉터리로 이동만 수행
WRITE 타입 상세 옵션 설정

파일 룰 타입을 WRITE로 선택한 경우의 상세 옵션 화면입니다. READ 타입과 공통된 설정 항목은 READ 타입 상세 옵션 설정을 참고합니다.

outbound rule file write advanced options
항목 설명

데이터 모드

파일의 데이터 처리 방식을 지정합니다.

  • BULK(자동 설정됨): 메시지 필드의 전체 내용을 파일에 저장합니다.

쓰기 모드

파일 쓰기의 동작 방식을 선택합니다.

  • 이어 쓰기: 기존 파일에 내용을 추가합니다.

  • 덮어 쓰기: 기존 파일을 덮어씁니다.

기존 파일 삭제 여부

'쓰기 모드’를 덮어 쓰기로 지정 시, 기존 파일을 삭제할지 여부를 선택합니다.

  • 삭제: 쓰기 전 기존 파일을 삭제합니다.

  • 보존: 기존 파일을 삭제하지 않고 덮어 씁니다. (기본값)

파일 가져올 방법

데이터 모드가 BULK인 경우에만 표시됩니다. 파일에 쓸 내용을 어떻게 가져올지 설정합니다.

  • Data Object: 입력 메시지의 지정된 필드 값을 읽어 파일에 씁니다.

  • Attachment: 입력 메시지의 첨부 파일에서 데이터를 가져와 파일로 저장합니다.

필드/표현식 매핑

FILE 아웃바운드 룰의 각 설정값은 메시지 필드 매핑 또는 표현식으로 동적으로 설정할 수 있습니다.

필드 매핑

메시지의 특정 필드 값을 사용합니다.

항목 설명

매핑 타입

FIELD

메시지 UID

참조할 메시지의 UID입니다.

메시지 필드 ID

참조할 필드의 ID입니다.

표현식 매핑

표현식을 사용하여 값을 동적으로 생성합니다.

항목 설명

매핑 타입

EXPRESSION

표현식

값을 생성하는 표현식입니다.

표현식 예시
# 날짜 기반 디렉터리
/data/backup/${date:yyyyMMdd}

# 날짜 기반 파일 이름
report_${date:yyyyMMdd}.csv

요청 메시지를 삭제하면 해당 메시지를 Source로 참조하던 매핑 룰이, 응답 메시지를 삭제하면 해당 메시지를 Target으로 참조하던 매핑 룰이 자동으로 초기화됩니다.

사용 예시

파일 읽기 (BULK 모드)

다음은 파일의 전체 내용을 읽어 메시지 필드에 매핑하는 시나리오의 설정 예시입니다.

프로토콜: FILE
FILE 룰 타입: READ
타임아웃: 30000ms (30초)

파일 경로: /data/incoming
파일 이름: data_*.json
데이터 모드: Bulk

처리 후 동작: 이동
처리 후 동작 파라미터: /data/processed

응답 파일 내용: 응답 메시지의 content 필드
응답 파일 이름: 응답 메시지의 fileName 필드

파일 정보 조회 (INFO 모드)

다음은 파일 목록과 파일 정보만 조회하는 시나리오의 설정 예시입니다.

프로토콜: FILE
FILE 룰 타입: READ
타임아웃: 10000ms (10초)

파일 경로: /data/reports
파일 이름: *.csv
하위 폴더 조회 여부: 조회
데이터 모드: Info

파일 처리 순서: 수정일
정렬: 내림차순

응답 파일 경로: 응답 메시지의 filePath 필드
응답 파일 이름: 응답 메시지의 fileName 필드
응답 파일 크기: 응답 메시지의 fileSize 필드

파일 이동 (Skip 모드)

다음은 파일의 내용 처리를 건너뛰고 파일 이동만 수행하는 시나리오의 설정 예시입니다.

프로토콜: FILE
FILE 룰 타입: READ
타임아웃: 10000ms (10초)

파일 경로: /data/temp
파일 이름: *.log
데이터 모드: Skip

처리 후 동작: 이동
처리 후 동작 파라미터: /data/archive/${date:yyyyMMdd}

파일 쓰기

다음은 메시지 필드의 내용을 파일에 저장하는 시나리오의 설정 예시입니다.

프로토콜: FILE
FILE 룰 타입: WRITE
타임아웃: 30000ms (30초)

파일 경로: /data/outgoing
파일 이름: report_${date:yyyyMMdd}.csv
데이터 모드: Bulk

파일 쓰기 모드: 덮어 쓰기
기존 파일 삭제 여부: 삭제

요청 파일 내용: 요청 메시지의 reportData 필드