Connect to the platform
Register an external source → test the connection → create a new dataset from the external source → see sync results and warnings
Required permission: Write datasetsDEVELOPER · OPERATOR · ADMIN
Once the DataOps server is ready, register the source once on the platform side and create datasets from it. Registering a source, testing the connection, creating a dataset and syncing require the Write datasetsDEVELOPER · OPERATOR · ADMIN permission (DEVELOPER or higher). Anyone can view the list.
The screenshots on this page were taken while actually connected to the platform's built-in mock DataOps server (see Reference implementation).
1. Register a source
- In Datasets (데이터셋) in the left menu, press External sources (외부 소스) at the top, then press Register source (소스 등록) at the bottom of the window.
- Enter a name, ① the base URL (the address the three APIs hang off, for example
https://dataops.example.com/api) and ② the Bearer token, then press ③ Register (등록).Register an external source — ① base URL (where the three endpoints live) ② bearer token ③ Register
- Once saved, the token cannot be viewed again (only the last four characters show). When editing, leaving the token field empty keeps the current token; entering a value replaces it.
- Turning off Active (활성) keeps the link but blocks new syncs.
2. Test the connection
Press the ② Test connection (연결 확인) icon on the registered source's row; it lists just one remote entry and ③ reports the result. Check here that ① the base URL is correct, too.
On failure, it tells you which of three causes it is — cannot connect (address, firewall), HTTP status (if 401, the token), or response format (not a JSON object, the list is not an array, and so on).
3. Create a new dataset from an external source
- Press New dataset (새 데이터셋) on the Datasets (데이터셋) screen and choose ① Sync from external source (외부 소스에서 동기화).
- When you choose a source, the list of remote datasets appears. ② Choose the dataset to pull. A remote dataset already linked to another dataset is marked "Already linked (이미 연결됨)" — one remote dataset can be linked to only one platform dataset.
- If you leave the name and modality empty, the remote values are used. For tabular CSV/Parquet whose remote does not report a modality, choose Tabular (표 형식) yourself (otherwise it is handled as time series). Pressing ③ Create and sync (만들고 동기화) creates the dataset and starts the first sync right away.
New dataset — ① supply method "Sync from external source" ② the remote dataset to pull ③ Create and sync
4. Link an existing dataset
You can also link a source later to a dataset you have been uploading to directly. Dataset detail Overview (개요) tab → external source card → Connect external source (외부 소스 연결). Files you uploaded stay, and if a name clashes with a remote file, the remote file is the one skipped.
- After linking, press Sync (동기화) on the card and it first previews what it will do: the number of files to fetch · to replace · to keep, and of files to skip because their names clash with directly uploaded files. If files are missing from the remote, "they will also be deleted from this dataset (이 데이터셋에서도 지워집니다)" appears in red.
Sync confirmation — files to fetch or keep, and files skipped because an uploaded file already has the name - Press Sync (동기화) and progress is shown. Before the manifest is read the amount to fetch is unknown, so "Reading the remote manifest (원격 매니페스트를 읽는 중입니다)" appears first instead of a bar. Cancel (취소) stops at a file boundary.
5. See results and warnings
When the sync ends, the result stays on the external source card: ① the linked source · remote dataset · last sync time, ② this run's fetched · deleted · kept counts, and ③ warnings.
The screen above is the result of skipping a remote file because it has the same name as the uploaded 20260721_line3_0002.png. The status is complete, but one warning remains. To let the sync manage this remote file, delete the uploaded file and sync again. "Kept" counts both files left as is and files skipped because of a name clash.
The same result through the API looks like this.
curl -b cookies.txt -H "X-Tenant: DEMO" \
"http://localhost:10000/api/v1/datasets/<dataset 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"], "…": "…"}]}
Changing or removing the link
| Action | Fetched files | Afterwards |
|---|---|---|
| Unlink | Stay | Relinking to the same remote picks up where it left off, without downloading everything again |
| Change link (연결 변경) to a different remote | Stay, but are deleted on the next sync (they are not in the new manifest) | — |
| Delete the source | Stay | Only the link is cut |
| Delete the dataset | All deleted | — |
Directly uploaded files are never deleted in any of these cases.