테이블 데이터 가져오기 API (V2)
TableImport는 외부 시스템에서 스키마가 있는 표 데이터를 Foundry 데이터셋으로 가져오는 배치 동기화 구성입니다. 원시 파일을 선택하는 FileImport와 달리 SQL 조회와 선택적인 증분 초기 상태를 사용합니다.
구성과 실행
| 작업 | API |
|---|---|
| 새 가져오기 구성 | Create Table Import |
| 접근 가능한 구성 목록 | List Table Imports |
| 구성 상세 조회 | Get Table Import |
| 모드, 스키마 정책과 SQL 구성 교체 | Replace Table Import |
| 비동기 빌드 실행 | Execute Table Import |
| 가져오기 구성 삭제 | Delete Table Import |
생성 및 교체와 삭제에는 api:connectivity-table-import-write, 조회에는 api:connectivity-table-import-read, 실행에는 api:connectivity-table-import-execute 권한 범위를 사용합니다.
datasetRid와 branchName은 생성 후 바꿀 수 없습니다. 대부분의 플랫폼 인스턴스에서 브랜치 기본값은 master입니다. 연결이 해당 테이블 가져오기 구성을 지원해야 하며, 외부 연결의 인증 및 네트워크 설정은 Connection에서 준비합니다.
출력과 스키마 정책
importMode | 출력 데이터셋에 반영하는 방식 |
|---|---|
SNAPSHOT | 이번 실행에서 가져온 데이터만으로 새 상태를 구성 |
APPEND | 이전 실행의 데이터에 새 데이터 추가 |
이 API의 허용 모드는 두 가지입니다. 원시 파일 가져오기 API의 UPDATE를 테이블 가져오기 모드로 사용하지 않습니다.
allowSchemaChanges는 수집한 행의 스키마가 기존 데이터셋과 달라도 가져오기 성공을 허용할지 정합니다. 새 가져오기에서는 기본값이 false입니다. API 예제에서 명시적으로 true를 지정한 경우를 기본 동작으로 해석하지 않습니다.
쿼리와 증분 수집
쿼리 구성은 일곱 커넥터 분기를 지원하며 모두 단일 SQL 조회와 선택적인 initialIncrementalState를 사용합니다. 쿼리는 데이터 테이블을 반환해야 하고 저장 프로시저 호출 같은 작업은 피합니다.
증분 초기 상태는 문자열, 날짜, integer, UTC 타임스탬프, long, decimal 열을 구분합니다. 단조 증가하는 열과 초기 기준값을 정하고 SQL의 ?로 상태를 참조합니다. 이전 최댓값보다 큰 행을 선택하는 조건이므로 값이 같거나 더 작은 행을 다시 선택하는 방식과 구분합니다.
실행 결과 확인과 삭제
실행 API는 BuildRid JSON 문자열을 반환하며 실제 수집은 비동기로 진행됩니다. 빌드의 상태를 확인한 뒤 출력 반영 여부를 판단합니다. 실패한 요청을 다시 실행하려는 경우에도 이전 빌드의 상태를 먼저 확인합니다.
TableImport를 삭제하면 이 구성을 통한 갱신은 중단되지만 출력 데이터셋은 삭제하지 않습니다.