Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd notebookutils.runtime för att läsa kontextinformation om den aktuella notebook-sessionen. Du kan hämta metadata som anteckningsboksnamn, arbetsyteinformation, standardkonfiguration av lakehouse, flaggor för körning av pipeline, och hierarki för referenskörningar utan att ändra något tillstånd.
Använd körningskontext för att:
- Dynamisk konfiguration – Anpassa notebook-beteende baserat på körningsmiljön.
- Villkorslogik – grenlogik beroende på om notebook körs i en pipeline eller interaktivt.
- Felsökning och övervakning – Inkludera kontextegenskaper i loggutmatning och koppla samman relaterade körningar.
- Revisionsloggar – Samla in körningsmetadata för efterlevnads- och härkomstspårning.
Anmärkning
Körningskontexten är tillgänglig i Notebook-filer för Python, PySpark, Scala och R. Kontexten är skrivskyddad – du kan inte ändra någon av egenskaperna som returneras av notebookutils.runtime.context. Vissa egenskaper fylls bara i i specifika kontexter, till exempel referenskörningar eller pipelinekörningar, och kan returnera null eller tomma värden på annat sätt.
Visa sessionskontext
Använd notebookutils.runtime.context för att visa kontextinformation för den aktuella sessionen, inklusive anteckningsbokens namn, standardlakehouse, arbetsyteinformation samt om sessionen körs i ett pipeline-flöde.
I följande tabell beskrivs de tillgängliga egenskaperna.
| Fastighet | Type | Beskrivning | Tillgänglighet |
|---|---|---|---|
currentNotebookName |
String | Namnet på den aktuella anteckningsboken. | Alla kontexter |
currentNotebookId |
String | Det unika ID:t för den aktuella notebook. | Alla kontexter |
currentWorkspaceName |
String | Namnet på den aktuella arbetsytan. | Alla kontexter |
currentWorkspaceId |
String | ID för den aktuella arbetsytan. | Alla kontexter |
defaultLakehouseName |
String | Visningsnamnet för standard lakehouse, om det definieras. | När standard lakehouse är anslutet |
defaultLakehouseId |
String | ID för standard lakehouse, om det definieras. | När standard lakehouse är anslutet |
defaultLakehouseWorkspaceName |
String | Arbetsytans namn för standard-lakehouse, om det definieras. | När standard lakehouse är anslutet |
defaultLakehouseWorkspaceId |
String | Arbetsytans ID för standard-lakehouse, om det är definierat. | När standard lakehouse är anslutet |
currentRunId |
String | I en referenskörning, det aktuella körnings-ID:t. | Endast referenskörningar |
parentRunId |
String | I en referenskörning med kapslade körningar är det här ID:t det överordnade körnings-ID:t. | Kör endast kapslade referenser |
rootRunId |
String | I en referenskörning med kapslade körningar är detta ID rotkörnings-ID. | Kör endast kapslade referenser |
isForPipeline |
Boolean | Om körningen är för en pipeline. | Alla kontexter |
isForInteractive |
Boolean | Om körningen är en interaktiv session. | Alla kontexter |
isReferenceRun |
Boolean | Om den nuvarande körningen är en referenskörning. | Alla kontexter |
referenceTreePath |
String | Trädstrukturen för kapslade referenskörningar, som endast används för ögonblicksbildshierarkin på L2-övervakningssidan. | Kör endast kapslade referenser |
rootNotebookId |
String | ID:t för huvudanteckningsboken för en referenskörning. | Endast referenskörningar |
rootNotebookName |
String | Namnet på rotanteckningsboken i en referenskörning. | Endast referenskörningar |
rootWorkspaceId |
String | Arbetsytans ID för huvudanteckningsboken under en referenskörning. | Endast referenskörningar |
rootWorkspaceName |
String | Namnet på arbetsytan för rot-anteckningsboken i ett referensutförande. | Endast referenskörningar |
activityId |
String | Livy-jobb-ID för den aktuella aktiviteten. | Alla kontexter |
hcReplId |
String | REPL-ID i läge för hög samtidighet. | Högt samtidighetsläge endast |
clusterId |
String | Identiteten för Synapse Spark-klustret. | Alla kontexter |
poolName |
String | Namnet på Spark-poolen som används. | Alla kontexter |
environmentId |
String | Miljö-ID:t där jobbet körs. | Alla kontexter |
environmentWorkspaceId |
String | Miljöns arbetsyte-ID. | Alla kontexter |
userId |
String | Användar-ID för den aktuella användaren. | Alla kontexter |
userName |
String | Användarnamnet för den aktuella användaren. | Alla kontexter |
currentKernel |
String | Namnet på den aktuella notebook-kerneln. | Endast Python Notebook |
productType |
String | Produkttypidentifieraren (till exempel Fabric). |
Alla kontexter |
Exempel på användning
Få åtkomst till grundläggande kontextinformation
Cachelagrar kontextobjektet när du behöver läsa flera egenskaper.
context = notebookutils.runtime.context
print(f"Notebook: {context['currentNotebookName']}")
print(f"Workspace: {context['currentWorkspaceName']}")
print(f"Lakehouse: {context['defaultLakehouseName'] or 'None'}")
Kontrollera pipeline jämfört med interaktiv körning
Använd isForPipeline flaggan för att förgrena logiken beroende på körningsläget. Du kan till exempel använda striktare felhantering i pipelinekörningar.
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/Råd
Använd isForPipeline och isReferenceRun tillsammans för att implementera trevägsförgrening för olika körningskontexter. Det här mönstret hjälper dig att skräddarsy antalet återförsök, logga utförlighet och strategier för felhantering. För produktionsarbetsbelastningar kräver pipeline- och referenskörningar vanligtvis striktare felhantering än interaktiva sessioner.
Granska referenskörningshierarkin
När en notebook-fil körs som en del av en kapslad referenskörning kan du spåra den fullständiga hierarkin från den aktuella körningen tillbaka till 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")
Inkludera kontext i loggning
Utöka loggmeddelanden med körningskontext för enklare felsökning och övervakning: