자동 데이터 통합 과정에서 발생하는 HTTP 오류 처리

데이터 분석가 및 기타 전문가들은 종종 웹 서비스를 호출하고 결과를 저장하는 데이터 매핑 작업을 자동화하여 실시간 데이터를 생성해야 합니다. 자동화된 작업 실행 중에는 예상치 못한 HTTP 오류가 발생하더라도, 통합 작업을 중단하는 대신 오류를 안전하게 처리하는 것이 중요합니다.

이전 게시글에서 REST 웹 서비스 응답의 조건부 처리 방식을 통해 HTTP 오류를 처리하고, 정상적인 응답과 오류 발생 시 각각 별도의 출력 파일을 생성하는 방법에 대해 논의했습니다. 이제 공항 상태 예제를 사용하여, 요청된 공항 상태 정보 또는 오류 설명을 모두 포함하는 단일 매핑 결과 파일을 생성하는 개선된 매핑 솔루션에 대해 살펴보겠습니다.

단일 결과를 생성하는 한 가지 방법은, 앞서 사용한 MapForce 매핑에서 생성된 각 출력 파일을 중간 요소로 취급한 다음, 이들을 최종 결과로 매핑하여 두 가지 가능한 결과 모두를 포함하도록 하는 것입니다.

하지만 더 간단한 해결책은 정상적인 응답과 오류 결과를 하나의 출력 요소로 직접 매핑하는 것입니다.

이전 게시물을 게시한 후, FAA(미국 연방항공청)의 공항 상태 웹 서비스가 공항 코드 필드가 비어 있는 요청을 받으면 오류를 반환한다는 사실을 발견했습니다. 이로 인해 HTTP 404 오류가 발생합니다. 안타깝게도, 오류 발생 시 웹 서비스에서 반환하는 결과는 요청 헤더에 명시된 것처럼 JSON 형식이 아닌 HTML 형식으로 제공됩니다

응답에서 반환되는 상태 코드를 직접 참조하여 HTML 오류 처리를 피할 수 있습니다

먼저, 대상 컴포넌트에 오류 발생 시 메시지를 저장할 수 있도록 JSON 스키마에 항목을 추가해야 합니다. 이는 XMLSpy의 그래픽 JSON 스키마 편집기를 사용하여 쉽게 구현할 수 있습니다

세부 설정 창에서 "발생 조건"은 "선택 사항"으로 설정되어 있습니다. 이는 HTTP 오류가 발생할 경우에만 해당 항목을 생성하기 때문입니다.

이제 200보다 큰 모든 HTTP 상태 코드에 대해 사용자 정의 오류 메시지를 만들 수 있습니다

위의 concat 함수는 상태 코드와 공항 코드를 함께 사용하여 오류에 대한 완전한 설명을 제공합니다.

다음은 수정된 매핑 다이어그램으로, 상태 코드와 출력 구성 요소 간의 연결 관계를 보여줍니다

맵핑 화면의 왼쪽 상단에서 공항 코드 상수를 수정할 수 있습니다. 그런 다음, 메인 맵핑 창 아래에 있는 "출력" 버튼을 클릭하여 다양한 입력 값을 테스트할 수 있습니다. 웹 서비스에 유효한 공항 코드가 포함된 GET 요청을 보낼 경우, 예상되는 JSON 파일이 결과로 반환됩니다

공항 코드에 해당하는 상수에 빈 문자열을 입력하면 HTTP 오류를 발생시킬 수 있습니다. 이렇게 하면 JSON 형식의 오류 응답 파일이 생성됩니다

참고로, 저희의 매핑 방식은 HTTP 상태 코드 200-299와 300-599에 대해 각각 별도의 응답 본문을 처리합니다. 이를 통해 출력에 유효한 JSON 결과만 매핑되도록 보장합니다. HTML 형식으로 수신된 오류 결과는 매핑되지 않고, 단순히 무시됩니다.

데이터 매핑을 자동화하고 HTTP 오류를 처리합니다

이전 게시글에서 우리는 정기적인 일정에 따라 50개 공항의 상태를 확인하고 기록하는 자동화 시나리오를 설명했습니다. 이를 위해 웹 서비스를 호출하고, 각 공항 코드에 대한 결과를 매핑해야 합니다.

원래 예제 매핑은 이미 자동화를 염두에 두고 설계되었습니다. MapForce Server는 다양한 운영체제에서 사용할 수 있는 서버 도구로, MapForce에서 설계된 데이터 매핑 작업을 자동으로 실행합니다. 매핑의 왼쪽 상단에 있는 구성 요소는 문자열 상수에 이어 나타나며, 이는 MapForce Server가 실행될 때 사용할 수 있는 입력 매개변수입니다.

화면 캡처에 표시된 "PHX"라는 문자열은 MapForce에서 직접 실행을 수행할 때만 사용됩니다.

FlowForce 서버는 높은 수준의 사용자 정의가 가능한 서버입니다 기업 수준의 데이터 통합 작업을 효율적으로 자동화할 수 있는 워크플로우 엔진. FlowForce 서버 작업은 MapForce 서버를 사용하여 필요한 각 공항 코드에 대해 한 번씩 매핑 작업을 수행하고, 정해진 일정에 따라 이 작업을 반복할 수 있습니다. 이 자동화된 작업은 HTTP 오류가 발생할 경우, 각 공항 코드에 대한 최신 상태 정보 또는 오류 설명을 담은 결과 파일을 생성하여 처리합니다.

MapForce를 처음 사용하시는 경우, 이 동영상 소개를 통해 MapForce의 다양한 데이터 변환 및 통합 기능에 대한 기본적인 내용을 확인해 보세요. MapForce, MapForce Server, 그리고 FlowForce Server를 30일 무료 체험 기간 동안 직접 사용해 보실 수 있습니다.