플랫폼에 연결하기
외부 소스 등록 → 연결 확인 → 외부 소스로 새 데이터셋 생성 → 동기화 결과와 경고 확인
필요 권한: 데이터셋 쓰기DEVELOPER · OPERATOR · ADMIN
DataOps 서버가 준비되면 플랫폼에서 소스를 한 번 등록하고, 그 소스에서 데이터셋 생성. 소스 등록·연결 확인·데이터셋 만들기·동기화는 데이터셋 쓰기DEVELOPER · OPERATOR · ADMIN 권한(DEVELOPER · OPERATOR · ADMIN) 필요. 목록 조회는 모든 역할 가능.
1. 소스 등록
- 왼쪽 메뉴 데이터셋 에서 상단의 외부 소스 를 누르고, 창 하단의 소스 등록 클릭.
- 이름과 ① 기준 URL(API 3개 경로 앞에 붙는 주소, 예:
https://dataops.example.com/api), ② Bearer 토큰 입력 후 ③ 등록 클릭.외부 소스 등록: ① 기준 URL(API 3개 경로 앞에 붙는 주소) ② Bearer 토큰 ③ 등록
- 토큰은 저장 후 다시 볼 수 없음(끝 네 글자만 표시). 수정 시 토큰 입력란을 비우면 기존 토큰 유지, 값을 입력하면 교체. 저장된 토큰은 화면에서 삭제 불가. API
PATCH /api/v1/external-sources/{id}에{"token": ""}를 전송해 삭제. - 같은 테넌트에서 소스 이름이 중복되면
409. - 활성 을 해제하면 연결은 유지한 채 새 동기화만 차단.
2. 연결 확인
등록한 소스 줄의 ② 연결 확인 아이콘을 누르면 원격 목록을 1건만 조회해 ③ 결과 표시. ① 기준 URL 이 올바른지도 여기서 확인.
실패하면 원인을 셋 중 하나로 구분해 표시: 연결 불가(주소·방화벽), HTTP 상태(401 이면 토큰), 응답 형식(JSON 객체가 아님, 목록이 배열이 아님 등).
연결 확인은 목록만 호출. 매니페스트 경로는 데이터셋 생성 시, 파일 경로는 첫 동기화에서 처음 호출. 등록 전에 제공 측 체크리스트로 세 경로 모두 확인.
3. 외부 소스로 새 데이터셋 만들기
- 데이터셋 화면의 새 데이터셋 을 누르고 ① 외부 소스에서 동기화 선택.
- 소스를 선택하면 원격 데이터셋 목록 표시. ② 가져올 데이터셋 선택. 이미 다른 데이터셋에 연결된 원격 데이터셋에는 "이미 연결됨" 표시. 원격 데이터셋 하나는 플랫폼 데이터셋 하나에만 연결.
- 이름을 비우면 원격 매니페스트의
name(없으면 원격 id)을, 모달리티를 변경하지 않으면 목록의modality를 사용. 표 형식 CSV/Parquet 인데 원격이 목록의modality나 파일별kind로 지정하지 않으면 표 형식 직접 선택 필요(선택하지 않으면 시계열로 처리). ③ 만들고 동기화 를 누르면 원격 매니페스트를 한 번 읽은 뒤 데이터셋 생성, 첫 동기화 시작. 매니페스트를 읽지 못하면 데이터셋을 만들지 않고 오류 표시.새 데이터셋: ① 공급 방식 '외부 소스에서 동기화' ② 가져올 원격 데이터셋 ③ 만들고 동기화
4. 이미 있는 데이터셋에 연결하기
직접 업로드해 사용하던 데이터셋에도 나중에 소스 연결 가능. 데이터셋 상세의 개요 탭 → 외부 소스 카드 → 외부 소스 연결. 업로드한 파일은 유지, 원격 파일과 이름이 중복되면 원격 파일을 건너뜀.
- 연결 후 카드의 동기화 를 누르면, 실행 전에 수행할 작업을 미리 표시. 받을 파일 · 바꿀 파일 · 그대로 둘 파일, 그리고 직접 올린 파일과 이름이 겹쳐 건너뛸 파일의 수. 원격에서 제거된 파일이 있으면 "이 데이터셋에서도 지워집니다" 가 빨간 글씨로 표시.
동기화 확인: 실행 전에 표시되는 받을 파일·그대로 둘 파일, 직접 올린 파일과 이름이 겹쳐 건너뛸 파일의 수 - 동기화 를 누르면 진행률 표시. 매니페스트를 읽기 전에는 전송량을 알 수 없으므로 진행 막대 대신 "원격 매니페스트를 읽는 중입니다" 가 먼저 표시. 취소 를 누르면 파일 경계에서 중단.
5. 결과와 경고 확인
동기화 종료 후 외부 소스 카드에 결과 표시. ① 연결된 소스 · 원격 데이터셋 · 마지막 동기화 시각, ② 이번 실행의 받음 · 지움 · 유지, ③ 경고.
위 화면은 업로드한 20260721_line3_0002.png 와 이름이 같은 원격 파일이 있어 그 파일을 건너뛴 결과. 상태는 완료지만 1건의 경고 남음. 이 원격 파일을 동기화로 관리하려면 업로드한 파일을 삭제하고 다시 동기화. "유지" 에는 변경이 없는 파일과 이름이 중복되어 건너뛴 파일을 함께 집계.
동기화가 완료되거나 실패하면 동기화를 시작한 사용자에게 알림 전송. 취소한 동기화는 알림을 전송하지 않음.
API 로도 같은 결과 확인 가능.
curl -b cookies.txt -H "X-Tenant: DEMO" \
"http://localhost:10000/api/v1/datasets/<데이터셋 id>/syncs"
{"items": [{"status": "SUCCEEDED", "files_done": 0, "files_skipped": 3, "files_deleted": 0,
"warnings": ["'20260721_line3_0002.png' is already held by an uploaded file; delete it to let the sync manage this file"], "…": "…"}]}
연결을 변경하거나 해제하면
| 동작 | 내려받은 파일 | 이후 |
|---|---|---|
| 연결 해제 | 유지 | 같은 원격에 다시 연결하면 전체를 다시 내려받지 않고 이어서 내려받음 |
| 다른 원격으로 연결 변경 | 유지되지만 다음 동기화에서 삭제됨(새 매니페스트에 없으므로) | 없음 |
| 소스 삭제 | 유지 | 연결만 해제. 연결된 데이터셋이 있으면 화면에 그 목록을 표시하고 한 번 더 확인(API 는 409, ?force=true 로 삭제). |
| 데이터셋 삭제 | 모두 삭제됨 | 없음 |
직접 업로드한 파일은 어느 경우에도 삭제되지 않음.