NotebookUtils søhus-forsyninger

Bruges notebookutils.lakehouse til at administrere lakehouse-elementer programmæssigt i Fabric-notesbøger. Du kan oprette, hente, opdatere, slette og liste lakehouses direkte fra notesbogskode.

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-forsyninger understøttes kun i 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 søhus 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 søhus navn eller beskrivelse. Opdateret Artifact objekt.
delete Sletter et sommerhus. Boolean. Truehvis det lykkes; ellers . False
list Lister søhuse i et arbejdsområde. Array af Artifact objekter.
listTables Lister borde i et sommerhus ved søen. Array af Table objekter.
loadTable Starter en lastningsoperation for et søhusbord. 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() den til at oprette et nyt søhus 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 Displaynavn på søhuset. Det skal være unikt inden for arbejdsområdet.
description String Nej En tekstbeskrivelse af søhuset.
definition Objekt Nej Struktureret definitionsobjekt for søhuset. 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 søhus med skema-understøttelse

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

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-skabelse af søhuse

Du kan oprette flere søhuse 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 formålet med søhuset. Overvej navngivningskonventioner for miljøadskillelse, såsom dev, test og prod.

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 det 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 søhus, 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 sommerhus med udvidede boliger

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 søhus 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 lakehouse

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

Vigtigt!

At omdøbe et søhus 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å søhuset.
newName String Ja Nyt navn til søhuset.
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 lakehouse

Brug notebookutils.lakehouse.delete() det til permanent at fjerne et søhus fra et arbejdsområde.

Advarsel!

Sletning er permanent og kan ikke gøres om. Verificér lakehouse-navnet, før du sletter det, 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, der 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 over søhuse

Brug notebookutils.lakehouse.list() den til at opregne søhuse 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 borde i et sommerhus ved en sø.

Parametre

Parameter Type Påkrævet Beskrivelse
lakehouse String Nej Navnet på søhuset. Går som standard tilbage til det nuværende søhus, 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 søhus, 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")