The full answer
A datastore is a connection to a storage account: where the data lives and how to authenticate. A data asset is a named, versioned pointer to specific data inside it: this folder, this file or this table, as version 3. Jobs should read data assets by name and version, so every run records exactly which data it trained on.
Datastore: the connection
A datastore points to an Azure Blob container, file share or Data Lake, and holds how to get in:
- Identity-based: your Microsoft Entra identity or a managed identity. No secret is stored, and access follows the storage account's own permissions.
- Credential-based: an account key, SAS token or service principal saved with the datastore. Anyone with Reader access to the workspace can read those credentials, which is a good reason to prefer identity-based access.
Every workspace has default datastores, including workspaceblobstore, used for uploads and job snapshots.
Data asset: the named, versioned reference
A data asset records a path and its metadata under a friendly name. It does not copy the data, so it costs no extra storage. There are 3 types:
| Type | Points to | Use when |
|---|---|---|
uri_file | One file | A single CSV or Parquet file |
uri_folder | A folder | A set of files you read with pandas or Spark |
mltable | A table definition | The schema changes often, or you need a subset of a large table |
inputs:
training_data:
type: uri_folder
path: azureml:churn-training:3
Why versions matter
Each data asset version is immutable, so a job that read churn-training:3 can be rerun on the same reference later, and the workspace shows which jobs used which version. A version is a pointer, though, not a copy. If someone overwrites the files at that path, version 3 now reads different data. Write each new dataset to a new path (for example a dated folder) and register it as a new version, and never edit files under a registered version.
In practice
- Raw and curated data stay in the data lake; datastores connect to it with identity-based access.
- Each training dataset is a data asset version, created by the pipeline that prepares it.
- Training jobs take data assets as inputs and log the name and version with the model.
- Deleting or overwriting data under a registered version is treated like rewriting history.
What interviewers want: datastore as connection and data asset as versioned reference, identity-based access over stored keys, the 3 data types, and that a version is a pointer, so the files under it must not change.
Last updated 16 October 2026
Sources