시나리오 설명
이번 가이드는 다양한 데이터 연계에 관한 주제입니다.
최근 클라우드 시대의 도래로 데이터를 추출하는 방법과 저장 대상에 데이터를 업데이트하는 방법이 매우 다양해졌습니다. 클라우드 애플리케이션의 대부분은 API를 통한 데이터 추출 및 갱신 방법을 지원합니다.
이번에는 API를 이용한 데이터 갱신에 대하여 소개하고 싶습니다.
ETL 도구가 API 사양에 맞게 상대방 애플리케이션에 데이터를 쓸 수 있다는 사실을 알고 계시나요? 최근의 ETL 툴에서는 그런 기능을 갖춘 제품도 나오고 있습니다만, 생각보다 모르시는 분들도 많지 않을까 생각합니다.
그렇다면 이런 기능을 어떻게 Xplenty로 실현할 수 있을까요?
우선 이번 만드는 패키지(데이터 취득으로부터 갱신까지의 일련의 처리)의 개요를 소개합니다.
미리 말씀드리면 처리 자체는 비즈니스적인 의미는 전현 없는 단순 데이터 연계 처리지만, 소스 시스템으로부터 어떻게 데이터가 연계되어 저장 대상에 쓰여지는가에 대한 흐름에 대한 예입니다.
패키지 작성
1. 데이터 취득 처리
우선 NHK(한국의 KBS에 해당하는 일본 공영방송)의 API에 대해 데이터를 취득하기 위한 설정입니다. Xplenty Source 목록에 있는 Rest API 컴포넌트를 사용합니다.
구성 요소에서 다음과 같이 URL을 설정합니다.
여기에 더해 취득하는 항목 「title(프로그램명)」과 「subtitle(프로그램 서브타이틀)」를 세트 합니다.
이것으로 데이터 가져오기 설정이 완료됩니다.
2. 데이터 갱신 처리
다음은 데이터 갱신 처리를 설정합니다.
Transformation에서 Select 컴포넌트를 선택합니다.
Select 컴포넌트의 수식 편집기를 열고 Trello 측의 API 사양에 맞게 다음 수식을 설정합니다.
명령은 다음과 같습니다.
Curl(CONCAT('https://trello.com/1/cards?key=$my_key&token=$my_token&idList=<리스트의_아이디>&name=', URLEncode(title), '&desc=', URLEncode(subtitle)), 'POST', '{"Accept":"text/json"}')
또한 Curl 커멘드의 결과 중, Status 부분을 취득해, 로그로서 출력할 수 있도록 위 식에 추가적으로 붉은 글자 부분을 설정하고 있습니다.
Curl(CONCAT('https://trello.com/1/cards?key=$my_key&token=$my_token&idList=<리스트의_아이디>&name=', URLEncode(title), '&desc=',URLEncode(subtitle)), 'POST', '{"Accept":"text/json"}')#'status'
>
리퀘스트 결과(상태만 가져오기)를 설정하는 열의 이름을 Alias에 설정합니다.
마지막으로 결과를 스토리지 같은 Destination의 특정 컴포넌트를 선택하고 Curl의 결과 로그 (이번에는 Status
만)만를 저장 하면 됩니다.
완성된 패키지는 다음과 같습니다.
3. 결과 확인
실제로 데이터를 실행해 봅시다.
원하는 대로 지정된 목록에 연결된 데이터를 기반으로 생성된 카드가 설정되어 있는지 확인할 수 있습니다.
마지막으로
이번에는 Rest API로 취득한 데이터를 Rest API를 사용하여 갱신해 보았습니다.
Xplenty 는 G2 Crowd에서 2020년 Spring의 ETL 툴 카테고리에서 'Leader'로 선정되었습니다. (G2 Crowd의 리뷰 페이지에서는, 사용자의 감상이 비디오로 소개되고 있는데, 변환의 다양성, 즉시 사용가능한 풍부한 커넥터, 서포트의 응답의 좋은 점, 학습이 용이함 부분에 높은 점수를 주고 있습니다.)
이번 기회에 클라우드 ETL 「Xplenty」를 1개월 체험판 신청으로 가볍게 써 보기실 바랍니다.