NotebookUtils innsjøhus-verktøy

Brukes notebookutils.lakehouse til å administrere lakehouse-elementer programmatisk i Fabric-notatbøker. Du kan opprette, hente, oppdatere, slette og liste lakehouses direkte fra notatbokkode.

Lakehouse-verktøyene er tilgjengelige i Python, PySpark, Scala og R-notatbøker. Eksemplene på denne siden bruker Python som hovedspråk, med Scala- og R-ekvivalenter vist for nøkkelmetoder.

Bemerkning

Lakehouse-installasjoner støttes kun i Fabric. De er ikke tilgjengelige i Azure Synapse Analytics.

For å vise tilgjengelige metoder og deres beskrivelser, kall notebookutils.lakehouse.help().

Oversikt over metoder

Følgende tabell oppsummerer de tilgjengelige metodene:

Metode Beskrivelse Returer
create Lager et nytt innsjøhus, med valgfri skjemastøtte. Artifact objekt med egenskaper: id, displayName, , descriptionog workspaceId.
get Henter et innsjøhus med navn. Artifact objekt med grunnleggende metadata.
getWithProperties Henter et innsjøhus med utvidede eiendommer. Artifact objekt med utvidet metadata og tilkoblingsdetaljer.
update Oppdaterer navnet eller beskrivelsen av et eksisterende innsjøhus. Oppdatert Artifact objekt.
delete Sletter et innsjøhus. Boolean. True hvis det lykkes; ellers, False.
list Lister opp innsjøhus i et arbeidsområde. En rekke Artifact objekter.
listTables Lister opp bord i et hytte ved innsjøen. En rekke Table objekter.
loadTable Starter en lasteoperasjon for et lakehouse-bord. Boolean. True hvis det lykkes; ellers, False.
# Method signatures
notebookutils.lakehouse.create(name: String, description: String = "", definition: Object = {}, workspaceId: String = ""): Artifact
notebookutils.lakehouse.get(name: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.getWithProperties(name: String, workspaceId: String = ""): Artifact
notebookutils.lakehouse.update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.delete(name: String, workspaceId: String = ""): Boolean
notebookutils.lakehouse.list(workspaceId: String = "", maxResults: Int = 1000): Array[Artifact]
notebookutils.lakehouse.listTables(lakehouse: String = "", workspaceId: String = "", maxResults: Int = 1000): Array[Table]
notebookutils.lakehouse.loadTable(loadOption: Object, table: String, lakehouse: String = "", workspaceId: String = ""): Boolean

Alle metoder aksepterer en valgfri workspaceId parameter. Når den utelates, retter operasjonen seg mot det nåværende arbeidsområdet. Spesifiser en arbeidsområde-ID for tilgang på tvers av arbeidsområder. Du må ha riktige tillatelser i målarbeidsområdet.

Opprett et innsjøhus

Bruk notebookutils.lakehouse.create() den til å opprette et nytt innsjøhus i det nåværende arbeidsområdet eller et spesifisert arbeidsområde. Innsjøhusnavn må være unike innenfor et arbeidsområde.

Parametere

Parameter Type Påkrevd Beskrivelse
name string Ja Visningsnavn på innsjøhuset. Må være unik innenfor arbeidsområdet.
description string Nei En tekstbeskrivelse for hytta ved innsjøen.
definition Objekt Nei Strukturert definisjonsobjekt for innsjøhuset. Pass {"enableSchemas": True} eller tilsvarende objektskjema for språket ditt for å aktivere skjema-støtte.
workspaceId string Nei Mål-arbeidsområde-ID. Som standard er det nåværende arbeidsområdet.

Lag et enkelt innsjøhus

artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")

Bemerkning

definition Pass som et strukturert objekt for notatbokspråket ditt, som en Python-ordbok, en Scala Mapeller en R-liste.

Lag et innsjøhus med skjemastøtte

Når du aktiverer skjemastøtte, støtter lakehouse flere skjemaer for organisering av tabeller. Oppgi {"enableSchemas": True} som parameteren definition :

artifact = notebookutils.lakehouse.create(
    "SalesAnalyticsWithSchema",
    "Lakehouse with schema support for multi-tenant data",
    {"enableSchemas": True}
)

print(f"Created lakehouse with schema support: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")

Lag et Lakehouse i et annet arbeidsområde

workspace_id = "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb"

artifact = notebookutils.lakehouse.create(
    name="SharedAnalytics",
    description="Shared analytics lakehouse",
    workspaceId=workspace_id
)

print(f"Created lakehouse in workspace: {workspace_id}")

Batch lager innsjøhus

Du kan lage flere innsjøhus i en sløyfe for å tilrettelegge miljøer for ulike team eller prosjekter:

departments = ["Sales", "Marketing", "Finance", "Operations"]

created_lakehouses = []
for dept in departments:
    lakehouse = notebookutils.lakehouse.create(
        name=f"{dept}Analytics",
        description=f"Analytics lakehouse for {dept} department"
    )
    created_lakehouses.append(lakehouse)
    print(f"Created: {lakehouse.displayName}")

print(f"Created {len(created_lakehouses)} lakehouses")

Tips

Bruk beskrivende navn som gjenspeiler formålet med innsjøhuset. Vurder navnekonvensjoner for miljøseparasjon, som utvikling, test og produksjon.

Skaff deg et hytte ved innsjøen

Bruk notebookutils.lakehouse.get() det til å hente et innsjøhus ved navn. Hvis du utelater navnet, bruker NotebookUtils det nåværende standard lakehouse.

Parametere

Parameter Type Påkrevd Beskrivelse
name string Nei Navnet på hytta til innsjøen som skal hentes. Går som standard til det nåværende innsjøhuset når det utelates.
workspaceId string Nei Mål-arbeidsområde-ID. Som standard er det nåværende arbeidsområdet.
artifact = notebookutils.lakehouse.get("lakehouse_name", "optional_workspace_id")

print(f"Lakehouse Name: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")
print(f"Workspace ID: {artifact.workspaceId}")

Skaff deg et innsjøhus med utvidede eiendommer

Bruk notebookutils.lakehouse.getWithProperties() når du trenger utvidede egenskaper utover grunnleggende metadata, som tilkoblingsstrenger eller konfigurasjonsdetaljer:

artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")

print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")

Skaff deg et innsjøhus fra et annet arbeidsområde

workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)

print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")

Oppdater et innsjøhus

Bruk notebookutils.lakehouse.update() det til å oppdatere navnet eller beskrivelsen av et eksisterende innsjøhus.

Viktig!

Å omdøpe et innsjøhus kan bryte nedstrøms avhengigheter som notatbøker, rørledninger eller snarveier som refererer til det opprinnelige navnet. Koordiner omdøpninger med teamet ditt før du søker dem.

Parametere

Parameter Type Påkrevd Beskrivelse
name string Ja Nåværende navn på innsjøhuset.
newName string Ja Nytt navn på hytta ved innsjøen.
description string Nei Oppdatert beskrivelse.
workspaceId string Nei Mål-arbeidsområde-ID. Som standard er det nåværende arbeidsområdet.
updated_artifact = notebookutils.lakehouse.update(
    "old_name",
    "new_name",
    "Updated description",
    "optional_workspace_id"
)

print(f"Updated lakehouse: {updated_artifact.displayName}")

Slette et innsjøhus

Bruk notebookutils.lakehouse.delete() det til å permanent fjerne et innsjøhus fra et arbeidsområde.

Forsiktig!

Sletting er permanent og kan ikke angres. Verifiser navnet på lakehouse før du sletter det, og sjekk for avhengige notatbøker, pipelines eller arbeidsflyter som refererer til det.

Parametere

Parameter Type Påkrevd Beskrivelse
name string Ja Navnet på innsjøhuset som skal slettes.
workspaceId string Nei Mål-arbeidsområde-ID. Som standard er det nåværende arbeidsområdet.
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")

if is_deleted:
    print("Lakehouse deleted successfully")
else:
    print("Failed to delete lakehouse")

Liste over innsjøhus

Bruk notebookutils.lakehouse.list() det til å liste opp innsjøhus i et arbeidsområde.

Parametere

Parameter Type Påkrevd Beskrivelse
workspaceId string Nei Mål-arbeidsområde-ID. Som standard er det nåværende arbeidsområdet.
maxResults Int Nei Maksimalt antall gjenstander å returnere. Standard er 1000.
artifacts_list = notebookutils.lakehouse.list("optional_workspace_id")

print(f"Found {len(artifacts_list)} lakehouses:")
for lh in artifacts_list:
    print(f"  - {lh.displayName} (ID: {lh.id})")

Bemerkning

I Scala list støtter maxResults metoden på samme måte som de andre notatbokspråkene. Bruk for eksempel list(workspaceId, maxResults).

Liste over tabeller

Jeg brukte notebookutils.lakehouse.listTables() det til å liste opp alle bordene i et innsjøhus.

Parametere

Parameter Type Påkrevd Beskrivelse
lakehouse string Nei Navnet på innsjøhuset. Går som standard til det nåværende innsjøhuset når det utelates.
workspaceId string Nei Mål-arbeidsområde-ID. Som standard er det nåværende arbeidsområdet.
maxResults Int Nei Maksimalt antall gjenstander å returnere. Standard er 1000.
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")

Lastetabell

Bruk notebookutils.lakehouse.loadTable() den til å laste data fra filer inn i en lakehouse-tabell.

Parametere

Parameter Type Påkrevd Beskrivelse
loadOption Objekt Ja Strukturerte lastealternativer som spesifiserer filbane, modus, format og andre lasteinnstillinger.
table string Ja Navnet på måltabellen.
lakehouse string Nei Navnet på innsjøhuset. Går som standard til det nåværende innsjøhuset når det utelates.
workspaceId string Nei Mål-arbeidsområde-ID. Som standard er det nåværende arbeidsområdet.

Objektet loadOption støtter følgende nøkler:

Nøkkel Beskrivelse
relativePath Vei til kildefilen relativt til lakehouse-roten (for eksempel, Files/myFile.csv).
pathType Type sti. Bruk File som enkeltfil.
mode Lastemodus, som for eksempel Overwrite eller Append.
recursive Sett til å True inkludere filer i undermapper.
formatOptions En ordbok med formatspesifikke innstillinger som format, header, og delimiter.

Eksempel:

result = notebookutils.lakehouse.loadTable(
    {
        "relativePath": "Files/myFile.csv",
        "pathType": "File",
        "mode": "Overwrite",
        "recursive": False,
        "formatOptions": {
            "format": "Csv",
            "header": True,
            "delimiter": ","
        }
    }, "table_name", "lakehouse_name", "optional_workspace_id")

if result:
    print("Table loaded successfully")
else:
    print("Table load failed")