DatabricksVolumeResource exposes files from a Unity Catalog volume through
Mirage’s standard filesystem interface. Agents can list, stat, read, stream,
glob, and write files under the configured volume root.
For auth and environment setup, see Databricks Volume Setup.
Config
Credentials are supplied separately through a token provider. Mirage includes
StaticTokenProvider for fixed tokens and DatabricksProfileTokenProvider for
Databricks CLI profiles. Applications can implement get_token() to supply
rotating or request-scoped tokens.
Mount mode
read or write.
Filesystem layout
Mirage maps the configured mount prefix onto the configured volume subtree. Given:/dbx/, the volume path:
root_path is normalized before use, and Mirage rejects any virtual path that
would escape above that configured subtree.
Supported operations
Reads:readdir, stat, exists, read_bytes, read_stream,
range_read, and glob resolution. Writes: write, create, mkdir,
rmdir, unlink, recursive rm, cp, and mv.
mv/cp are non-atomic download + upload — the Files API has no server-side
rename.
Shell Commands
The Databricks Volume resource supports shell commands that operate on real file content. Reads use the Files API with range requests, so commands likehead -c BYTES avoid downloading the whole object. The supported set is
scoped to commands that work over the volume API (no compression, encoding,
or local-only utilities).
Read Commands
Text Processing
File Operations
Path Utilities
Snapshot behavior
Snapshots contain the volume location config but never the token provider. Loading a snapshot requires a full resource override for the mount:Databricks Apps
For Databricks Apps, pass an application-owned provider. Itsget_token()
method can read the current request’s OBO token or return a service-principal
token managed by the application:
Workspace.execute(...).
Example
examples/python/databricks_volume/databricks_volume.pyexamples/python/agents/langchain/databricks_volume_deepagent.py
Use Cases
- Agents in Databricks Apps: mount a Unity Catalog volume in-process so an agent can read and write governed files without FUSE or hardcoded credentials.
- Reading governed datasets: expose a reports or dataset subtree through
root_pathand query it with shell commands. - Sandboxed volume access: scope an agent to a single volume (and optional
root_path) so it cannot read or write outside that subtree. - Writing agent outputs back: persist generated files to the volume with
write,cp, andmv.