Upload external data | Capture and sync
Upload external data
The data management service captures and syncs data from your machines automatically. If you have data from other sources (images from your phone, files on your laptop, or data generated by external processes), you can upload it to Viam directly.
| Method | Use case | Deletes local data? | Duplicates on re-run? |
|---|---|---|---|
| Directory sync | Sync files that another process writes to a folder on your machine | Yes | No |
| SDK upload | Programmatic upload from any computer | No | Yes |
| Mobile app | Quick image upload from your phone for ML training | No | No |
Sync files from a directory
If another process on your machine writes files to a folder (for example, log files, exported CSVs, or images from a third-party application), you can have the data management service sync that folder to the cloud automatically.
Add the directory path to Additional paths in the data management service configuration (or "additional_sync_paths" in JSON mode). See Sync data from another directory for step-by-step instructions.
How it works:
- The data management service monitors the directory and uploads any file that has not been modified for at least 10 seconds (configurable with
file_last_modified_millisin the data management service attributes). - Uploaded files are deleted from the local directory after successful sync. If you need to keep a local copy, copy the files to a separate folder and point
additional_sync_pathsat the copy. - Uploaded files are stored in Viam’s cloud storage and associated with the machine’s
part_id,location_id, andorganization_id. They are not associated with a specific component or capture method. - Synced files appear on the DATA tab under Files (not under Images or Sensors, even if the files are images).
Upload with SDKs
Use the Data Client API to upload files programmatically. Unlike the data management service, the FileUploadFromPath method does not delete local files after upload, but it will duplicate data if you run it more than once.
- Create an API key for your organization, location, or machine.
- Use
FileUploadFromPathto upload a file. You must provide a machine part ID to associate the data with. - Run your code once. Running it again uploads the same files a second time.
- Check the DATA tab to confirm your data appears.
Copy
Copy
Upload images with the mobile app
The Viam mobile app lets you upload images directly from your phone, bypassing the normal capture and sync process. This is useful for quickly collecting training images for machine learning models.
Install the app from the App Store or Google Play if you haven’t already.
- In the app, select an organization, then tap Locations and navigate to the machine you want the data associated with.
- Tap … in the upper right corner, then tap Upload Images.
- Select the images you want to upload and tap Add.
Uploaded images are associated with the machine part you selected but not with a specific component or method.
Next steps
If you uploaded data for machine learning, continue to create a dataset.