Del via


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-verktøy støttes kun i Microsoft 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 Lakehouse, med valgfri støtte for skjema. 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 et eksisterende Lakehouse-navn eller beskrivelse. 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 innsjøhus. 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 Lakehouse

Bruk notebookutils.lakehouse.create() for å lage et nytt Lakehouse 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å Lakehouse. Må være unik innenfor arbeidsområdet.
description string Nei En tekstbeskrivelse for Lakehouse.
definition Objekt Nei Strukturert definisjonsobjekt for Lakehouse. 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.

Opprett et Lakehouse med skjemastøtte

Når du aktiverer skjema-stø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 opprette flere Lakehouses i en løkke 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 reflekterer Lakehouse-formålet og vurder navnekonvensjoner for miljøseparasjon (utvikling, test, 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 den nåværende standard Lakehouse.

Parametere

Parameter Type Påkrevd Beskrivelse
name string Nei Navnet på innsjøhuset som skal hentes. Går tilbake til det nåværende Lakehouse 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}")

Kjøp 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}")

Få 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() den til å oppdatere navnet eller beskrivelsen av et eksisterende innsjøhus.

Viktig!

Å gi nytt navn til et Lakehouse 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å Lakehouse.
newName string Ja Nytt navn på Lakehouse.
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}")

Slett et innsjøhus

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

Forsiktig!

Sletting er permanent og kan ikke angres. Verifiser Lakehouse-navnet 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 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

Jeg brukte 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 pleide notebookutils.lakehouse.listTables() å liste opp alle bordene i et innsjøhus.

Parametere

Parameter Type Påkrevd Beskrivelse
lakehouse string Nei Navnet på innsjøhuset. Går tilbake til det nåværende Lakehouse 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 inn data fra filer 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 tilbake til det nåværende Lakehouse 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")