Hands-on · Geverifieerd op 18 september 2026
Deze walkthrough gebruikt het Microsoft Fabric-item Azure Databricks Storage als managed-storage root voor een Azure Databricks Unity Catalog-catalog. Daarna ontsluit hij een Delta-tabel via een Mirrored Azure Databricks Catalog.
De releasestatus hoort bij het ontwerp: Azure Databricks Storage is Preview, de Databricks-to-OneLake external-location capability is Beta en de vanuit Fabric gestarte mirrored catalog voor consumption is generally available. Behandel het storagepad als evaluatie- of controlled-workloadpatroon totdat de previewfeatures GA zijn.
De architectuur
Azure Databricks
-> Unity Catalog managed Delta table
-> Azure Databricks Storage (OneLake /Files)
-> Mirrored Azure Databricks Catalog
-> Fabric SQL endpoint, Lakehouse shortcut, or Direct Lake
De eerste integratie maakt OneLake de managed-storage root. De tweede synchroniseert catalogmetadata en maakt shortcuts. Hij kopieert geen tabledata.
Dit is geen OneLake catalog federation. Federation ontsluit bestaande Fabric-data in Databricks. Hier beheert Databricks de tabel, slaat OneLake de bytes op en biedt Fabric een read-only consumptieoppervlak.
Vereisten en namen
- een Fabric-workspace met capacity voor het storage-item;
- een tweede Fabric-workspace voor mirrored catalog en consumers;
- Azure Databricks met Unity Catalog;
- Databricks Runtime 18.1 of later, of serverless compute;
- een Access Connector for Azure Databricks met managed identity;
- Unity Catalog-privileges om storage credentials, external locations en catalogs te maken; en
- een user of service principal voor de Fabric-to-Databricks connection.
| Object | Naam |
|---|---|
| Restricted storage workspace | dbx-onelake-storage |
| Consumer workspace | dbx-onelake-consumption |
| Storage item | uc_managed_storage |
| Access Connector | ac-dbx-onelake |
| Storage credential | onelake_mi_credential |
| External location | onelake_uc_root |
| Catalog / schema / table | onelake_demo.sales.orders |
1. Schakel de settings in
- Vraag een workspace administrator in Azure Databricks om de OneLake external-locationfeature op de pagina Previews in te schakelen.
- Open in Fabric Settings → Admin portal → Tenant settings en schakel Users can create Azure Databricks Storage items in voor de bedoelde admingroup.
- Open in
dbx-onelake-storageWorkspace settings → Delegated settings → OneLake settings en schakel Authenticate with OneLake user-delegated SAS tokens in.
2. Maak en autoriseer de Access Connector
- Maak
ac-dbx-onelakein Azure en schakel de managed identity in. - Kopieer de resource ID:
/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Databricks/accessConnectors/ac-dbx-onelake
- Selecteer in
dbx-onelake-storageWorkspace settings → Manage access → Add people or groups. - Voeg de managed identity toe en wijs Contributor toe, de minimaal gedocumenteerde role voor dit writepad.
Houd deze workspace dedicated. Admins, Members en Contributors kunnen data in het storage-item lezen, schrijven en verwijderen, ook zonder de equivalente Unity Catalog-grant.
3. Maak Azure Databricks Storage
In dbx-onelake-storage:
- selecteer + New item → Azure Databricks Storage;
- noem het
uc_managed_storage; en - kopieer workspace- en item-ID uit de browser-URL.
FABRIC_STORAGE_WORKSPACE_ID = <workspace-guid>
DATABRICKS_STORAGE_ITEM_ID = <item-guid>
Bouw exact dit path:
abfss://<FABRIC_STORAGE_WORKSPACE_ID>@onelake.dfs.fabric.microsoft.com/<DATABRICKS_STORAGE_ITEM_ID>/Files/
Gebruik GUIDs, geen namen, en neem /Files/ op.
4. Maak de Unity Catalog storage credential
In Azure Databricks Catalog:
- selecteer het configuratiemenu en Create a credential;
- selecteer Azure Managed Identity;
- noem deze
onelake_mi_credential; - plak de resource ID van de Access Connector;
- geef voor een user-assigned identity de managed identity ID op; en
- maak hem.
5. Maak en test de external location
In Catalog Explorer:
- open Connect → External locations → Create external location;
- noem deze
onelake_uc_root; - selecteer OneLake en
onelake_mi_credential; - plak het ABFSS-path met GUIDs;
- maak hem; en
- selecteer Test connection.
De waarschuwing skipped file events read is verwacht voor OneLake-paths.
Controleer bij 403 Forbidden de workspacerole van de identity, actieve
capacity, beide GUIDs en /Files/.
6. Maak een deterministische Delta-tabel
Draai dit op Databricks Runtime 18.1+ of serverless. Vervang beide GUIDs:
CREATE CATALOG IF NOT EXISTS onelake_demo
MANAGED LOCATION 'abfss://<FABRIC_STORAGE_WORKSPACE_ID>@onelake.dfs.fabric.microsoft.com/<DATABRICKS_STORAGE_ITEM_ID>/Files/uc-managed';
CREATE SCHEMA IF NOT EXISTS onelake_demo.sales;
CREATE OR REPLACE TABLE onelake_demo.sales.orders
USING DELTA AS
SELECT * FROM VALUES
('O-1001', DATE '2026-09-01', 'Contoso Retail', 'Web', CAST(129.99 AS DECIMAL(12,2))),
('O-1002', DATE '2026-09-02', 'Fabrikam Stores', 'Store', CAST( 49.50 AS DECIMAL(12,2))),
('O-1003', DATE '2026-09-03', 'Adventure Works', 'Web', CAST(220.00 AS DECIMAL(12,2))),
('O-1004', DATE '2026-09-04', 'Northwind', 'Mobile', CAST( 15.99 AS DECIMAL(12,2))),
('O-1005', DATE '2026-09-05', 'Tailspin Toys', 'Partner', CAST(314.87 AS DECIMAL(12,2)))
AS t(order_id, order_date, customer_name, channel, net_amount);
SELECT COUNT(*) AS row_count,
CAST(SUM(net_amount) AS DECIMAL(18,2)) AS total_net_amount
FROM onelake_demo.sales.orders;
DESCRIBE DETAIL onelake_demo.sales.orders;
De aggregatie moet 5 en 730.35 teruggeven. DESCRIBE DETAIL moet
format = delta tonen en een location onder het GUID-path van het storage-item.
7. Autoriseer de mirror identity
Schakel external data access in via Catalog → gear icon → Metastore → Details → External data access en verleen:
GRANT USE CATALOG ON CATALOG onelake_demo
TO `<FABRIC_CONNECTION_PRINCIPAL>`;
GRANT USE SCHEMA ON SCHEMA onelake_demo.sales
TO `<FABRIC_CONNECTION_PRINCIPAL>`;
GRANT SELECT ON TABLE onelake_demo.sales.orders
TO `<FABRIC_CONNECTION_PRINCIPAL>`;
GRANT EXTERNAL USE SCHEMA ON SCHEMA onelake_demo.sales
TO `<FABRIC_CONNECTION_PRINCIPAL>`;
EXTERNAL USE SCHEMA zit niet in ALL PRIVILEGES en wordt niet automatisch
aan schema owners verleend.
8. Maak de mirrored catalog
In dbx-onelake-consumption:
- selecteer + New item → Mirrored Azure Databricks catalog;
- gebruik Organizational account- of Service principal authentication;
- selecteer
onelake_demo,salesenorders; - laat future schema synchronization ingeschakeld; en
- maak het item.
Bevraag het gegenereerde endpoint:
SELECT COUNT_BIG(*) AS row_count,
CAST(SUM(net_amount) AS DECIMAL(18,2)) AS total_net_amount
FROM [sales].[orders];
Verwacht 5 en 730.35. Maak voor Spark een Lakehouse en gebruik Get data
in your lakehouse → New shortcut → Microsoft OneLake. Selecteer daarna de
mirrored catalog en sales.orders.
Synchronisatie heeft twee klokken
- Unity Catalog naar het mirrored item synchroniseert de catalogstructuur. Automatic sync volgt toevoegingen en deletions van geselecteerde schema’s en tabellen. Renames worden niet ondersteund.
- Delta files naar het SQL endpoint kunnen seconden tot minuten nodig hebben. Een geslaagde Databricks-write betekent niet dat het endpoint direct actueel is.
| Symptoom | Controle |
|---|---|
| Catalog, schema of table ontbreekt | External access, USE CATALOG, USE SCHEMA, SELECT en EXTERNAL USE SCHEMA |
| Nieuwe table ontbreekt | Geselecteerd schema en automatic future sync |
| Object wordt uitgefilterd | Views, materialized views, streaming tables, Delta Sharing tables en tables met Unity Catalog row filters of masks worden niet ondersteund |
| Rename is verouderd | Behandel het renamed object als nieuwe selectie |
| Manage catalog niet beschikbaar | Wacht op metadata sync |
| Recente rows ontbreken | Geef propagation tijd en refresh het gegenereerde endpoint |
| File-eventswaarschuwing | Verwacht voor OneLake; staat los van catalog sync |
Diagnosticeer één laag tegelijk: bevraag Databricks, inspecteer
DESCRIBE DETAIL, verifieer de mirror principal, controleer objectselectie en
support en onderzoek daarna endpoint freshness.
Security heeft vier grenzen
| Grens | Beheert | Regel |
|---|---|---|
| Unity Catalog | Databricks discovery, table access en policies | Geef de mirror principal alleen vereiste privileges |
| Storage workspace | Directe toegang tot managed-table files | Houd dedicated en beperkt |
| Mirror connection | Fabrics credential voor catalog en data queries | Gebruik bij voorkeur een dedicated service principal |
| Fabric / OneLake | Downstream Fabric access | Definieer en test consumercontrols apart |
Om het mirrored item te beveiligen:
- open Manage OneLake security;
- maak een Grant role met Read en Selected data;
- voeg de bedoelde Entra group toe;
- geef consumers Viewer- of item-level Read;
- inspecteer
DefaultReader; en - test met een non-admin identity.
Admins, Members en Contributors hebben al datatoegang. Unity Catalog row filters, column masks en ABAC policies worden niet naar Fabric doorgegeven. Definieer equivalente Fabric-controls en houd beide policysets gelijk.
Limieten
- Gebruik Delta voor dit gecombineerde pad.
- Het mirrored Fabric-oppervlak is read-only.
- Bewerk Unity Catalog managed-table files niet rechtstreeks.
- Fabric Runtime moet voor Spark minimaal Spark 3.4 / Delta 2.4 zijn.
- Vanuit Databricks gestarte Publish to OneLake is een apart Public Preview-pad voor hele catalogs.
Conclusie
Het robuuste patroon is asymmetrisch: Databricks schrijft en governt, OneLake
slaat de bytes op en Fabric mirrort metadata en past downstream permissions
toe. Het operationele werk is de storage workspace beperken,
EXTERNAL USE SCHEMA verlenen, rekening houden met asynchrone zichtbaarheid en
Unity Catalog en OneLake als aparte policy planes behandelen.
Gezaghebbende bronnen
- Azure Databricks verbinden met een OneLake external location
- Een Azure Databricks Storage-item maken
- Microsoft Fabric met Azure Databricks
- Een Mirrored Azure Databricks Catalog configureren
- Azure Databricks Unity Catalog mirroren
- Mirrored Azure Databricks-data beveiligen in Fabric
- Beperkingen van Mirrored Azure Databricks catalog
- FAQ over Mirrored Azure Databricks catalog
- External data access tot Unity Catalog inschakelen
- Hoe OneLake security datatoegang beheert
- OneLake security roles maken en beheren
- Metadata sync van het SQL analytics endpoint
Reacties laden…