Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Denne artikel viser, hvordan man forbinder til OneLake via Azure Databricks serverløse compute.
Forudsætninger
Før du forbinder, skal du sikre dig, at du har:
- Et stofarbejdsområde og søhus.
- Et Premium Azure Databricks-arbejdsområde.
- En serviceprincipal med mindst tildelingen af bidragyder-arbejdsområdet .
- Databasehemmeligheder eller AKV (Azure Key Vault) til at gemme og hente hemmeligheder. I dette eksempel bruges Databricks-hemmeligheder.
Forbind til OneLake ved at bruge Databricks serverløse beregning
Ved at bruge Databricks serverløse beregning kan du køre arbejdsbelastninger uden at provisionere en klynge. Ifølge Databricks serverløse dokumentation tillader Databricks serverless kun konfiguration af et delmængde af understøttede Spark-egenskaber for at automatisere konfigurationen af Spark på serverløs beregning.
Notat
Denne begrænsning er ikke unik for Azure Databricks. Databricks-serveruafhængige implementeringer på Amazon Web Services (AWS) og Google Cloud udviser den samme funktionsmåde.
Hvis du forsøger at ændre eller angive en ikke-understøttet Spark-konfiguration i en notesbog, der er knyttet til Databricks-serveruafhængig beregning, returnerer systemet en CONFIG_NOT_AVAILABLE fejl.
OneLake understøtter indgående forbindelse fra Databricks-serveruafhængig beregning. Du kan forbinde til OneLake fra Databricks serverløse compute, hvis du har passende adgang, og der er en netværkssti mellem Databricks serverless compute og OneLake. Med Databricks serverløs, sørg for, at din kode ikke ændrer nogen ikke-understøttede Spark-egenskaber.
Oprette din notesbog
Opret en notesbog i Databricks-arbejdsområdet, og vedhæft den til serveruafhængig beregning.
Importer Python-moduler – i dette eksempel bruger du tre moduler:
- msal er Microsoft Authentication Library (MSAL) og er designet til at hjælpe udviklere med at integrere Microsofts identitetsplatformautentificering i deres applikationer.
- requests modulet bruges til at lave HTTP-forespørgsler ved hjælp af Python.
- delta lake bruges til at læse og skrive Delta Lake-tabeller ved hjælp af Python.
from msal import ConfidentialClientApplication import requests from deltalake import DeltaTableErklære variabler for Microsoft Entra-lejer, herunder program-id. Brug lejer-id'et for den lejer, hvor Microsoft Fabric er installeret.
# Fetch from Databricks secrets. tenant_id = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for tenant _id>") client_id = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for client _id>") client_secret = dbutils.secrets.get(scope="<replace-scope-name>",key="<replace value with key value for secret>")Deklarer variabler for arbejdsområde i struktur.
workspace_id = "<replace with workspace name>" lakehouse_id = "<replace with lakehouse name>" table_to_read = "<name of lakehouse table to read>" storage_account_name = workspace_id onelake_uri = f"abfss://{workspace_id}@onelake.dfs.fabric.microsoft.com/{lakehouse_id}.lakehouse/Tables/{table_to_read}"Initialiser klienten for at erhverve token.
authority = f"https://login.microsoftonline.com/{tenant_id}" app = ConfidentialClientApplication( client_id, authority=authority, client_credential=client_secret ) result = app.acquire_token_for_client(scopes=["https://onelake.fabric.microsoft.com/.default"]) if "access_token" in result: access_token = result["access_token"] print("Access token acquired.") token_val = result['access_token']Læs en deltatabel fra OneLake
dt = DeltaTable(onelake_uri, storage_options={"bearer_token": f"{token_val}", "use_fabric_endpoint": "true"}) df = dt.to_pandas() print(df.head())Notat
Tjenesteprincipalen har rolletildeling af bidragyderarbejdsområdet , og du kan bruge den til at skrive data tilbage til OneLake.
Når du har gennemført de foregående trin, kan du læse data fra OneLake ved at bruge Databricks, en notesbog tilknyttet serverless compute.