Del via


NotebookUtils søhus-forsyninger

Bruges notebookutils.lakehouse til at administrere Lakehouse-elementer programmatisk i Fabric-notesbøger. Du kan oprette, hente, opdatere, slette og liste Lakehouses direkte fra notesbogskoden.

Lakehouse-værktøjerne er tilgængelige i Python, PySpark, Scala og R-notebooks. Eksemplerne på denne side bruger Python som primært sprog, med Scala- og R-ækvivalenter vist for nøglemetoder.

Bemærkning

Lakehouse-værktøjer understøttes kun i Microsoft Fabric. De er ikke tilgængelige i Azure Synapse Analytics.

For at vise de tilgængelige metoder og deres beskrivelser, kald notebookutils.lakehouse.help().

Oversigt over metoder

Følgende tabel opsummerer de tilgængelige metoder:

Metode Beskrivelse Returnerer
create Opretter et nyt Lakehouse med valgfri skema-understøttelse. Artifact objekt med egenskaber: id, displayName, , descriptionog workspaceId.
get Henter et søhus ved navn. Artifact objekt med grundlæggende metadata.
getWithProperties Henter et søhus med udvidede ejendomme. Artifact objekt med udvidet metadata og forbindelsesdetaljer.
update Opdaterer et eksisterende Lakehouse-navn eller beskrivelse. Opdateret Artifact objekt.
delete Sletter et søhus. Boolean. Truehvis det lykkes; ellers . False
list Lister søhuse i et arbejdsområde. Array af Artifact objekter.
listTables Lister borde i et søhus. Array af Table objekter.
loadTable Starter en lastningsoperation for et Lakehouse-bord. Boolean. Truehvis 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 accepterer en valgfri workspaceId parameter. Når den udelades, retter operationen sig mod det aktuelle arbejdsområde. Angiv et arbejdsområde-ID til adgang på tværs af arbejdsområder. Du skal have passende tilladelser i målarbejdsområdet.

Opret et lakehouse

Brug notebookutils.lakehouse.create() til at oprette et nyt Lakehouse i det nuværende arbejdsområde eller et specificeret arbejdsområde. Søhusnavne skal være unikke inden for et arbejdsområde.

Parametre

Parameter Type Påkrævet Beskrivelse
name String Ja Visningsnavn for Lakehouse. Det skal være unikt inden for arbejdsområdet.
description String Nej En tekstbeskrivelse for Lakehouse.
definition Objekt Nej Struktureret definitionsobjekt for Lakehouse. Pass {"enableSchemas": True} eller den tilsvarende objektformular for dit sprog for at aktivere skema-understøttelse.
workspaceId String Nej Mål-arbejdsområde-ID. Som standard er det nuværende arbejdsområde.

Lav et simpelt søhus

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

Bemærkning

Lad det passere definition som et struktureret objekt til dit notesbogssprog, såsom en Python-ordbog, en Scala Mapeller en R-liste.

Opret et Lakehouse med skema-understøttelse

Når du aktiverer skema-understøttelse, understøtter Lakehouse flere skemaer til organisering af tabeller. Lad som parameteren definition være{"enableSchemas": True}:

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}")

Opret et Lakehouse i et andet arbejdsområ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 opretter søhuse

Du kan oprette flere Lakehouses i en løkke for at etablere miljøer til forskellige teams eller projekter:

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

Brug beskrivende navne, der afspejler Lakehouse-formålet, og overvej navngivningskonventioner for miljøadskillelse (udvikling, test, produktion).

Få et sommerhus ved søen

Brug notebookutils.lakehouse.get() den til at hente et søhus ved navn. Hvis du udelader navnet, bruger NotebookUtils den nuværende standard Lakehouse.

Parametre

Parameter Type Påkrævet Beskrivelse
name String Nej Navnet på søhuset, der skal hentes. Går som standard tilbage til det nuværende Lakehouse, når det udelades.
workspaceId String Nej Mål-arbejdsområde-ID. Som standard er det nuværende arbejdsområde.
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}")

Få et søhus med udvidede ejendomme

Brug notebookutils.lakehouse.getWithProperties() den, når du har brug for udvidede egenskaber ud over grundlæggende metadata, såsom forbindelsesstrenge eller konfigurationsdetaljer:

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

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

Få et Lakehouse fra et andet arbejdsområ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}")

Opdater et søhus

Brug notebookutils.lakehouse.update() den til at opdatere navnet eller beskrivelsen af et eksisterende søhus.

Vigtigt!

At omdøbe et Lakehouse kan bryde nedstrøms afhængigheder som notesbøger, rørledninger eller genveje, der refererer til det oprindelige navn. Koordiner omdøbninger med dit team, før du anvender dem.

Parametre

Parameter Type Påkrævet Beskrivelse
name String Ja Det nuværende navn på Lakehouse.
newName String Ja Nyt navn til Lakehouse.
description String Nej Opdateret beskrivelse.
workspaceId String Nej Mål-arbejdsområde-ID. Som standard er det nuværende arbejdsområde.
updated_artifact = notebookutils.lakehouse.update(
    "old_name",
    "new_name",
    "Updated description",
    "optional_workspace_id"
)

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

Slet et søhus

Brug notebookutils.lakehouse.delete() den til permanent at fjerne et Lakehouse fra et arbejdsområde.

Advarsel!

Sletning er permanent og kan ikke gøres om. Verificér Lakehouse-navnet før sletning, og tjek for afhængige notesbøger, pipelines eller workflows, der refererer til det.

Parametre

Parameter Type Påkrævet Beskrivelse
name String Ja Navnet på søhuset skal slettes.
workspaceId String Nej Mål-arbejdsområde-ID. Som standard er det nuværende arbejdsområde.
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")

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

Liste Søhuse

Bruges notebookutils.lakehouse.list() til at opregne Lakehouses i et arbejdsområde.

Parametre

Parameter Type Påkrævet Beskrivelse
workspaceId String Nej Mål-arbejdsområde-ID. Som standard er det nuværende arbejdsområde.
maxResults Int Nej Maksimalt antal genstande at returnere. Som 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})")

Bemærkning

I Scala list understøtter maxResults metoden på samme måde som de andre notesbogssprog. Brug f.eks. list(workspaceId, maxResults).

Liste tabeller

Jeg plejede notebookutils.lakehouse.listTables() at liste alle tabeller i et søhus.

Parametre

Parameter Type Påkrævet Beskrivelse
lakehouse String Nej Navnet på søhuset. Går som standard tilbage til det nuværende Lakehouse, når det udelades.
workspaceId String Nej Mål-arbejdsområde-ID. Som standard er det nuværende arbejdsområde.
maxResults Int Nej Maksimalt antal genstande at returnere. Som standard er 1000.
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")

Belastningstabel

Brug notebookutils.lakehouse.loadTable() den til at indlæse data fra filer i en Lakehouse-tabel.

Parametre

Parameter Type Påkrævet Beskrivelse
loadOption Objekt Ja Strukturerede indlæsningsmuligheder, der specificerer filsti, tilstand, format og andre indlæsningsindstillinger.
table String Ja Navn på måltabellen.
lakehouse String Nej Navnet på søhuset. Går som standard tilbage til det nuværende Lakehouse, når det udelades.
workspaceId String Nej Mål-arbejdsområde-ID. Som standard er det nuværende arbejdsområde.

Objektet loadOption understøtter følgende nøgler:

Nøgle Beskrivelse
relativePath Sti til kildefilen i forhold til Lakehouse-roden (for eksempel, Files/myFile.csv).
pathType Typen af sti. Brug File den til én fil.
mode Load-tilstand, såsom Overwrite eller Append.
recursive Sæt til True at inkludere filer i undermapper.
formatOptions En ordbog med format-specifikke indstillinger 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")