Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
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.
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: