Skip to content

Route /Skills paths to the Files API in databricks fs - #6147

Merged
renaudhartert-db merged 1 commit into
mainfrom
skills-files-api-routing-copy
Aug 3, 2026
Merged

Route /Skills paths to the Files API in databricks fs#6147
renaudhartert-db merged 1 commit into
mainfrom
skills-files-api-routing-copy

Conversation

@renaudhartert-db

Copy link
Copy Markdown
Contributor

Changes

filerForPath now routes dbfs:/Skills/... to the Files API filer, alongside the existing /Volumes/ branch, instead of falling through to the legacy DBFS filer.

Why

UC Skills are Files-API-native: the server exposes skill bundle bytes at /api/2.0/fs/files/Skills/<catalog>/<schema>/<skill>/<file>, exactly like Volumes. This lets users manage a skill bundle with the standard databricks fs commands, e.g.:

databricks fs cp -r ./my-skill dbfs:/Skills/<catalog>/<schema>/my-skill/

fs cp -r walks the local tree and PUTs each file via the Files API (no atomic bundle endpoint — same as Volumes). The dbfs: scheme is legacy URI naming only; the request goes to the Files API.

Scope

One-line routing change. No new command, API method, or endpoint — reuses the existing public Files API, parallel to how /Volumes/ is handled. Shell completion already keys off the dbfs: scheme, so no completion change is needed.

Tests

Added new tests to cover Volumes and Skills.

This pull request and its description were written by Isaac.

filerForPath now routes dbfs:/Skills/... to the Files API filer, alongside the
existing /Volumes/ branch, instead of falling through to the legacy DBFS filer.

Co-authored-by: Isaac
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: c99059d

Run: 30824183329

Env 🔄​flaky 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 4 4 306 1070 8:51
💚​ aws windows 4 4 308 1068 5:27
🔄​ azure linux 4 4 4 301 1070 9:09
💚​ azure windows 4 4 307 1068 6:25
💚​ gcp linux 1 5 306 1070 6:56
💚​ gcp windows 1 5 308 1068 4:53
12 interesting tests: 4 RECOVERED, 4 SKIP, 4 flaky
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🔄​ TestFsCpFileToDirFileNotOverwritten ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestFsCpFileToDirFileNotOverwritten/uc-volumes_to_uc-volumes ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestFsRmEmptyDir ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
🔄​ TestFsRmEmptyDir/uc-volumes ✅​p ✅​p 🔄​f ✅​p ✅​p ✅​p
💚​ TestFetchRepositoryInfoAPI_FromRepo 💚​R 💚​R 💚​R 💚​R 🙈​S 🙈​S
💚​ TestFetchRepositoryInfoAPI_FromRepo/root 💚​R 💚​R 💚​R 💚​R
💚​ TestFetchRepositoryInfoAPI_FromRepo/subdir 💚​R 💚​R 💚​R 💚​R
Top 5 slowest tests (at least 2 minutes):
duration env testname
2:59 aws windows TestAccept
2:56 azure windows TestAccept
2:56 gcp windows TestAccept
2:47 azure linux TestFilerWorkspaceFilesExtensionsReadDir
2:14 azure linux TestFilerWorkspaceFilesExtensionsRead

@@ -0,0 +1,6 @@

>>> [CLI] fs cp local.txt dbfs:/Skills/main/default/fs-cp-test-[UNIQUE_NAME]/README.md

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we have any file that records the api logs? That will basically capture which API we are using.

@renaudhartert-db
renaudhartert-db added this pull request to the merge queue Aug 3, 2026
Merged via the queue into main with commit 92ad56e Aug 3, 2026
26 checks passed
@renaudhartert-db
renaudhartert-db deleted the skills-files-api-routing-copy branch August 3, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants