동기화 API#
동기화를 시작하려면 apps:manage가 필요합니다. 진행 상황 스트림을 읽으려면 data:read가 필요합니다.
동기화 시작#
POST/sources/{id}/sync
소스의 동기화 요청을 수락하고 비동기 리소스를 반환합니다. 수락은 요청이 기록되었다는 뜻이며 테이블 커밋이 완료되었다는 뜻은 아닙니다.
일시 중지되었거나 삭제된 소스는 거부합니다. 소스에 이미 진행 중인 작업이 있으면 중복 실행을 시작하지 않고 충돌을 보고합니다.
응답 유실 후 재시도할 때는 Idempotency-Key를 사용하세요. 키를 하나의 소스와 요청 본문에 연결하세요.
진행 상황 스트리밍#
GET/sources/{id}/sync/stream
Server-Sent Events 스트림은 진행 상황과 영구 저장된 동기화 결과를 보고합니다. 연결이 닫히면 Last-Event-ID를 사용하여 다시 연결하세요. 재연결 후에는 소스 리소스의 최신 동기화를 최종 기준으로 삼으세요.
이벤트에는 테이블 이름, 단계, 완료 및 전체 개수, 최종 결과가 포함될 수 있습니다. 클라이언트는 추가되는 이벤트 필드를 무시해야 합니다.
완료 후#
성공한 최종 이벤트는 실행의 테이블 커밋이 완료되었다는 뜻입니다. 관련 테이블은 서로 다른 시점에 완료될 수 있으므로 최신성에 민감한 자동화는 최종 상태 이후 커밋된 _synced_at 값이나 카탈로그를 확인해야 합니다.