이 예제는 각 파일의 특성을 기반으로 FTP
파일 나열 활동을 사용하여 FTP 디렉토리에서 디렉토리
목록을 가져오고 플랫 파일 스키마를 사용하여 긴 디렉토리
목록을 구문 분석하며 파일 목록을 반복합니다.
이 태스크 정보
각 파일의 특성을 기반으로
다음 조치 중 하나가 발생합니다.
FTPParseDirListingExample을 열어서,
확인하고, 자세히 알아 보려면 다음을 수행하십시오.
프로시저
- FTPParseDirListingExample 프로젝트의 압축을 푸십시오.
- Studio에 정의된 기본 작성 경로(새 프로젝트가 작성되는 디렉토리)를
찾으십시오. 현재 기본 작성 경로를 보려면 Studio 도구 모음 메뉴에서
을 선택하십시오. 환경
설정 창이 표시됩니다. 현재 기본 작성 경로는 분할창의 끝에
표시됩니다. 기본 작성 경로는 기본적으로
C:\Documents and Settings\ myLogin\My
Documents 디렉토리에 있습니다. 여기서 myLogin은
Windows
로그인 이름입니다.
- FTPParseDirListingExample 프로젝트를 구성하는 파일이 포함된
FTPParseDirListingExample.zip 파일을 찾으십시오. Studio
설치 시 기본값을 허용한 경우의 파일 위치는
C:\Program Files\IBM\WebSphere
Cast Iron Studio 3.X\Samples\FTPParseDirListing입니다.
- FTPParseDirListing 디렉토리의
FTPParseDirListingExample.zip 파일을 기본 작성 경로 디렉토리에 복사하십시오.
- FTPParseDirListingExample.zip 파일의 컨텐츠를
기본 작성 경로 디렉토리에 복사하십시오.
- FTPParseDirListingExample 프로젝트를 여십시오.
- Studio 도구 모음 메뉴에서 를 선택하십시오.
열기 대화 상자가 표시됩니다.
- FTPParseDirListingExample 디렉토리를 찾아 여십시오.
- FTPParseDirListingExample.sp3 파일을 클릭하고
열기를 클릭하십시오. 프로젝트가 표시됩니다.
- 프로젝트 탭에서 processBids 오케스트레이션을 두 번 클릭하십시오.
processBids 오케스트레이션 탭에는 다음
그림과 같이 오케스트레이션의 활동이 표시됩니다.
- 스케줄 작업 활동을 클릭하십시오. 점검 목록에서
구성 태스크를 클릭하십시오. 이 활동은 런타임
동안 5분 간격으로 오케스트레이션 작업을 시작합니다.
- List Files Full Dir Listing이라는
FTP 파일 나열 활동을 클릭하십시오. 점검 목록에서
구성 태스크를 클릭하십시오. 이 활동은 FTP 서버의
/input 디렉토리에서 파일의 긴 디렉토리 목록을
가져오고 해당 목록을 dirListing 출력 매개변수에 하나의 문자열로
리턴합니다. 이 예제에서 directoryListing 출력 매개변수에 리턴된
문자열은 fullDirectoryListing 문자열 변수에 저장됩니다.
디렉토리 목록 구문 분석 예제에 대해 FTP 엔드포인트가 구성된
경우에는 구성 태스크에서 테스트를 클릭하여
디렉토리 목록을 가져오십시오. 파일만 나열(NLST)
선택란은 디렉토리 목록에 파일 목록만 포함되는지 또는 전체 디렉토리
목록이 포함되는지 여부를 결정합니다. 이 예제에서는
파일만 나열(NLST) 선택란을 지우십시오.
- If...Then 활동을 펼치십시오. 이 활동은
런타임 동안 fullDirectoryListing 문자열 변수의 값을
확인합니다. 값이 비어 있으면 If 경로가 실행되고
오케스트레이션이 종료됩니다. fullDirectoryListing
문자열이 비어 있지 않으면 Else 경로가 실행되고
오케스트레이션이 디렉토리를 구문 분석합니다.
- 플랫 파일 읽기 활동을 클릭하십시오. 점검
목록에서 입력 맵핑 태스크를 클릭하십시오. 런타임
동안 FTP 파일 나열 활동에서 작성된 긴
디렉토리 목록은 dara 입력 매개변수를
통해 플랫 파일 읽기 활동으로 전달됩니다.
- 점검 목록에서 출력 맵핑 태스크를 클릭하십시오.
런타임 동안 플랫 파일 읽기 활동은
디렉토리 문자열을 출력 맵핑 태스크에
표시된 반복 노드 구조로 구문 분석합니다.
- For Each 활동을 클릭하십시오.
For Each 활동은 런타임 동안 디렉토리 목록을 저장하는
반복 노드 구조를 통해 반복됩니다. 각 반복은
단일 파일 및 해당 파일의 특성에 해당합니다.
- 변수 맵핑 활동을 클릭하십시오.
변수 맵핑 활동은 런타임 동안
현재 파일의 크기를 10진수로 변환합니다.
- If..Then 활동을 클릭하십시오. If..Then
활동은 런타임 동안 다음 If..Then 분기를 시작합니다.
결과
- 파일 크기가 0이면 FTP 파일 이름 바꾸기 활동이
/processFailed 디렉토리로 파일을 이동하고
파일 이름에 ERROR 접두부를 추가하여 이름을 바꿉니다.
- 파일 이름에 승인된 제공(AcmeInc 또는 WidgetRUs) 중 하나를 나타내는 문자열이 포함되는
경우, FTP 파일 이름 바꾸기 활동은 파일 이름을 기반으로 해당
디렉토리(/processAcmeInc 또는 /processWidgetRUs)로 파일을 이동합니다.
- 파일 이름에 Budget Manufacture 공급자를 나타내는
문자열이 포함되는 경우, 승인되지 않은 공급자 목록에 Budget
Manufacture가 있으므로 FTP 파일 삭제 활동이
파일을 삭제합니다.
- 이전 세 조건으로 파일이 처리되지 않으면 Else 절이 호출되고
FTP 파일 이름 바꾸기 활동이 /processNewCompany 디렉토리로 파일을 이동합니다.
디렉토리
목록 구문 분석 예제를 실행하려면 디렉토리
목록 구문 분석 예제에 대한 FTP 엔드포인트 구성 섹션에 제공된 프로시저를 참조하십시오.