Del via


NotebookUtils runtime-kontekst for Fabric

Brug notebookutils.runtime den til at læse kontekstinformation om den aktuelle notesbogssession. Du kan hente metadata såsom notebookens navn, arbejdsområdedetaljer, standard lakehouse-konfiguration, pipeline-eksekveringsflag og reference run-hierarki uden at ændre nogen tilstand.

Brug runtime-kontekst til at:

  • Dynamisk konfiguration – Tilpas notebooks adfærd baseret på eksekveringsmiljøet.
  • Betinget logik – Forgreningslogik, afhængigt af om notebooken kører i en pipeline eller interaktivt.
  • Fejlfinding og overvågning – Inkludér kontekstegenskaber i logoutput og korrelér relaterede eksekveringer.
  • Revisionsspor – Indsaml metadata om udførelse til overholdelse og sporing af slægtslinjer.

Bemærkning

Runtime-kontekst er tilgængelig i Python, PySpark, Scala og R-notebooks. Konteksten er skrivebeskyttet—du kan ikke ændre nogen af de egenskaber, der returneres af notebookutils.runtime.context. Nogle egenskaber er kun fyldt i specifikke sammenhænge, såsom referencekørsler eller pipeline-eksekveringer, og kan ellers returnere null eller tømme værdier.

Se sessionens kontekst

Brug notebookutils.runtime.context den til at se kontekstinformation for den aktuelle session, inklusive notesbogens navn, standard lakehouse, arbejdsområdeinformation og om sessionen kører i en pipeline.

notebookutils.runtime.context

Følgende tabel beskriver de tilgængelige egenskaber.

Property Type Beskrivelse Tilgængelighed
currentNotebookName String Navnet på den nuværende notesbog. Alle kontekster
currentNotebookId String Den unikke ID på den nuværende notesbog. Alle kontekster
currentWorkspaceName String Navnet på det nuværende arbejdsområde. Alle kontekster
currentWorkspaceId String ID'et for det nuværende arbejdsområde. Alle kontekster
defaultLakehouseName String Displaynavnet på standard-lakehouset, hvis det er defineret. Når standard lakehouse er tilknyttet
defaultLakehouseId String ID'et på standard-søhuset, hvis det er defineret. Når standard lakehouse er tilknyttet
defaultLakehouseWorkspaceName String Arbejdsområdets navn på standard lakehouse, hvis det er defineret. Når standard lakehouse er tilknyttet
defaultLakehouseWorkspaceId String Workspace-ID'et for standard lakehouse, hvis det er defineret. Når standard lakehouse er tilknyttet
currentRunId String I en referencekørsel er det nuværende run-ID. Kun reference-kørsler
parentRunId String I en referencekørsel med indlejrede kørsler er dette ID forældrekørsels-ID'et. Kun indlejrede reference-kørsler
rootRunId String I et referencekørsel med indlejrede kørsler er dette ID rodkørsels-ID'et. Kun indlejrede reference-kørsler
isForPipeline Boolean Om løbet er til en rørledning. Alle kontekster
isForInteractive Boolean Om løbet er en interaktiv session. Alle kontekster
isReferenceRun Boolean Om den nuværende kørsel er en referencekørsel. Alle kontekster
referenceTreePath String Træstrukturen for indlejrede referencer kører, bruges kun til snapshot-hierarkiet på overvågningssiden L2. Kun indlejrede reference-kørsler
rootNotebookId String ID'et på rodnotesbogen i en referencekørsel. Kun reference-kørsler
rootNotebookName String Navnet på rodnotesbogen i en referencekørsel. Kun reference-kørsler
rootWorkspaceId String Workspace-ID'et for rodnotesbogen i en referencekørsel. Kun reference-kørsler
rootWorkspaceName String Arbejdsområdets navn på rodnotesbogen i en referencekørsel. Kun reference-kørsler
activityId String Livy-job-ID'et for den aktuelle aktivitet. Alle kontekster
hcReplId String REPL-ID'et er i høj samtidighedstilstand. Kun høj samtidighedstilstand
clusterId String Identiteten af Synapse Spark-klyngen. Alle kontekster
poolName String Navnet på Spark-poolen blev brugt. Alle kontekster
environmentId String Miljø-ID'et, hvor jobbet kører. Alle kontekster
environmentWorkspaceId String Arbejdsområdets ID. Alle kontekster
userId String Bruger-ID'et på den nuværende bruger. Alle kontekster
userName String Brugernavnet på den nuværende bruger. Alle kontekster
currentKernel String Navnet på den nuværende notebook-kerne. Kun Python Notebook
productType String Produkttypeidentifikatoren (for eksempel Fabric). Alle kontekster

Eksempler på anvendelse

Få adgang til grundlæggende kontekstinformation

Cache kontekstobjektet, når du skal læse flere egenskaber.

context = notebookutils.runtime.context

print(f"Notebook: {context['currentNotebookName']}")
print(f"Workspace: {context['currentWorkspaceName']}")
print(f"Lakehouse: {context['defaultLakehouseName'] or 'None'}")

Tjek pipeline vs. interaktiv eksekvering

Brug isForPipeline flag-til-branch-logikken afhængigt af eksekveringstilstanden. For eksempel kan du anvende strengere fejlhåndtering i pipeline-kørsler.

context = notebookutils.runtime.context

if context['isForPipeline']:
    print("Pipeline mode: Strict error handling")
    error_handling = "strict"
    max_retries = 3
elif context['isReferenceRun']:
    print("Running as a referenced notebook")
    error_handling = "strict"
    max_retries = 2
else:
    print("Interactive mode: Lenient error handling")
    error_handling = "lenient"
    max_retries = 1

Tips

Brug isForPipeline og isReferenceRun sammen til at implementere trevejsforgrening for forskellige eksekveringskontekster. Dette mønster hjælper dig med at tilpasse genprøvningsoptællinger, loge ordløshed og fejlhåndteringsstrategier. For produktionsarbejdsbelastninger kræver pipeline- og referencekørsler typisk strengere fejlhåndtering end interaktive sessioner.

Inspicer reference-run-hierarkiet

Når en notesbog kører som en del af en indlejret referencekørsel, kan du spore hele hierarkiet fra den aktuelle kørsel tilbage til roden:

context = notebookutils.runtime.context

if context['isReferenceRun']:
    print("Reference Run Context:")
    print(f"  Current Run ID: {context['currentRunId']}")
    print(f"  Parent Run ID: {context['parentRunId']}")
    print(f"  Root Run ID: {context['rootRunId']}")
    print(f"  Root Notebook: {context['rootNotebookName']}")
else:
    print("Not a reference run")

Inkludér kontekst i logningen

Berig logbeskeder med eksekveringskontekst for lettere fejlfinding og overvågning:

context = notebookutils.runtime.context

run_id = context.get("currentRunId") or "interactive"
log_prefix = (
    f"[{context['currentWorkspaceName']}/{context['currentNotebookName']}]"
    f" run={run_id}"
)

print(f"{log_prefix} Processing started")