Del via


NotebookUtils kjøretidskontekst for Fabric

Bruk notebookutils.runtime den til å lese kontekstinformasjon om den nåværende notatbokøkten. Du kan hente metadata som notatbokens navn, arbeidsområdedetaljer, standard lakehouse-konfigurasjon, pipeline-utførelsesflagg og referansekjøringshierarki uten å endre noen tilstand.

Bruk kjøretidskontekst for å:

  • Dynamisk konfigurasjon – Tilpass notatbokens oppførsel basert på kjøringsmiljøet.
  • Betinget logikk – Forgreningslogikk avhengig av om notatboken kjører i en pipeline eller interaktivt.
  • Feilsøking og overvåking – Inkluder kontekstegenskaper i loggutdata og korreler relaterte utførelser.
  • Revisjonsspor – Fanger inn metadata for gjennomføring og sporing av etterlevelse.

Bemerkning

Kjøretidskontekst er tilgjengelig i Python, PySpark, Scala og R-notatbøker. Konteksten er skrivebeskyttet—du kan ikke endre noen av egenskapene som returneres av notebookutils.runtime.context. Noen egenskaper fylles kun i spesifikke kontekster, som referansekjøringer eller pipeline-kjøringer, og kan ellers returnere null eller tømme verdier.

Se sesjonskontekst

Bruk notebookutils.runtime.context for å se kontekstinformasjon for den nåværende økten, inkludert notatbokens navn, standard lakehouse, arbeidsområdeinformasjon og om økten kjører i en pipeline.

notebookutils.runtime.context

Tabellen nedenfor beskriver de tilgjengelige egenskapene.

Eiendom Type Beskrivelse Tilgjengelighet
currentNotebookName string Navnet på den nåværende notatboken. Alle kontekster
currentNotebookId string Den unike ID-en til den nåværende notatboken. Alle kontekster
currentWorkspaceName string Navnet på det nåværende arbeidsområdet. Alle kontekster
currentWorkspaceId string ID-en til det nåværende arbeidsområdet. Alle kontekster
defaultLakehouseName string Visningsnavnet til standard innsjøhus, hvis det er definert. Når standard innsjøhus er tilknyttet
defaultLakehouseId string ID-en til standard innsjøhus, hvis definert. Når standard innsjøhus er tilknyttet
defaultLakehouseWorkspaceName string Arbeidsområdets navn på standard innsjøhus, hvis definert. Når standard innsjøhus er tilknyttet
defaultLakehouseWorkspaceId string Arbeidsområdets ID til standard lakehouse, hvis det er definert. Når standard innsjøhus er tilknyttet
currentRunId string I en referansekjøring, den nåværende kjøre-ID-en. Kun referanseløp
parentRunId string I en referansekjøring med nestede kjøringer er denne ID-en den overordnede kjøre-ID-en. Kun nestede referansekjøringer
rootRunId string I en referansekjøring med nestede kjøringer er denne ID-en rotkjørings-ID-en. Kun nestede referansekjøringer
isForPipeline boolsk Om løpet er for en rørledning. Alle kontekster
isForInteractive boolsk Om løpet er en interaktiv økt. Alle kontekster
isReferenceRun boolsk Om den nåværende kjøringen er en referansekjøring. Alle kontekster
referenceTreePath string Trestrukturen til nestede referanser kjører, og brukes kun for snapshot-hierarkiet på overvåkingssiden L2. Kun nestede referansekjøringer
rootNotebookId string ID-en til rotnotatboken i en referansekjøring. Kun referanseløp
rootNotebookName string Navnet på rot-notatboken i en referansekjøring. Kun referanseløp
rootWorkspaceId string Workspace-ID-en til rotnotatboken i en referansekjøring. Kun referanseløp
rootWorkspaceName string Arbeidsområdets navn på rotnotatboken i en referansekjøring. Kun referanseløp
activityId string Livy-jobb-ID-en for den nåværende aktiviteten. Alle kontekster
hcReplId string REPL-ID-en i høy samtidighetsmodus. Kun høy samtidighetsmodus
clusterId string Identiteten til Synapse Spark-klyngen. Alle kontekster
poolName string Navnet på Spark-bassenget som brukes. Alle kontekster
environmentId string Miljø-ID-en der jobben kjører. Alle kontekster
environmentWorkspaceId string Arbeidsområdets ID for miljøet. Alle kontekster
userId string Bruker-ID-en til den nåværende brukeren. Alle kontekster
userName string Brukernavnet til den nåværende brukeren. Alle kontekster
currentKernel string Navnet på den nåværende notebook-kjernen. Kun Python Notebook
productType string Produkttypeidentifikatoren (for eksempel Fabric). Alle kontekster

Eksempler på bruk

Få tilgang til grunnleggende kontekstinformasjon

Cache kontekstobjektet når du trenger å lese flere egenskaper.

context = notebookutils.runtime.context

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

Sjekk pipeline vs. interaktiv kjøring

Bruk isForPipeline flagg-til-forgrening-logikken avhengig av kjøremodus. For eksempel kan du bruke strengere feilhåndtering i pipeline-kjøringer.

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

Bruk isForPipeline og isReferenceRun sammen for å implementere treveis forgrening for ulike utførelseskontekster. Dette mønsteret hjelper deg å tilpasse antall retrys, logging av ordrikdom og feilhåndteringsstrategier. For produksjonsarbeidsbelastninger krever pipeline- og referansekjøringer vanligvis strengere feilhåndtering enn interaktive økter.

Inspiser referansekjøringshierarkiet

Når en notatbok kjører som en del av en nestelt referansekjøring, kan du spore hele hierarkiet fra den nåværende kjøringen tilbake til roten:

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

Inkluder kontekst i loggføringen

Berik loggmeldinger med utførelseskontekst for enklere feilsøking og overvåking:

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