Skip to main content
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:
and mount prefix /dbx/, the volume path:
appears in Mirage as:
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 like head -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. Its get_token() method can read the current request’s OBO token or return a service-principal token managed by the application:
This does not require FUSE. The agent can access the mounted workspace through Mirage’s backend adapters or Workspace.execute(...).

Example

See:
  • examples/python/databricks_volume/databricks_volume.py
  • examples/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_path and 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, and mv.