Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Použijte notebookutils.runtime ke čtení kontextových informací o aktuální relaci poznámkového bloku. Můžete načíst metadata, jako je název poznámkového bloku, podrobnosti pracovního prostoru, výchozí konfigurace lakehouse, příznaky spuštění pipeline a referenční hierarchie spuštění, aniž byste změnili jakýkoli stav.
Kontext modulu runtime použijte k:
- Dynamická konfigurace – Přizpůsobit chování poznámkového bloku na základě spouštěcího prostředí
- Podmíněná logika – rozvětvení logiky v závislosti na tom, jestli se poznámkový blok spouští v pipeline nebo interaktivně.
- Ladění a monitorování – Zahrnutí vlastností kontextu do výstupu protokolu a korelace souvisejících spuštění
- Záznamové stopy – Zachytávání metadat spouštění pro dodržování předpisů a sledování původu.
Poznámka:
Kontext modulu runtime je k dispozici v poznámkových blocích Python, PySpark, Scala a R. Kontext je jen pro čtení – nemůžete upravovat žádné vlastnosti vrácené notebookutils.runtime.context. Některé vlastnosti jsou naplněny pouze v konkrétních kontextech, jako jsou referenční spuštění nebo spuštění kanálu, a jinak můžou vrátit null nebo prázdné hodnoty.
Zobrazení kontextu relace
Použijte notebookutils.runtime.context k zobrazení kontextových informací pro aktuální relaci, včetně názvu poznámkového bloku, výchozího Lakehouse, informací o pracovním prostoru a toho, zda se relace spouští v pipeline.
Následující tabulka popisuje dostupné vlastnosti.
| Vlastnictví | Typ | Description | dostupnost |
|---|---|---|---|
currentNotebookName |
String | Název aktuálního poznámkového bloku | Všechny kontexty |
currentNotebookId |
String | Jedinečné ID aktuálního poznámkového bloku. | Všechny kontexty |
currentWorkspaceName |
String | Název aktuálního pracovního prostoru. | Všechny kontexty |
currentWorkspaceId |
String | ID aktuálního pracovního prostoru. | Všechny kontexty |
defaultLakehouseName |
String | Zobrazovaný název výchozího jezera, pokud je definován. | Při připojení výchozího datového úložiště Lakehouse |
defaultLakehouseId |
String | ID výchozího jezera, pokud je definováno. | Při připojení výchozího datového úložiště Lakehouse |
defaultLakehouseWorkspaceName |
String | Název pracovního prostoru výchozího lakehouse, pokud je definován. | Při připojení výchozího datového úložiště Lakehouse |
defaultLakehouseWorkspaceId |
String | ID pracovního prostoru výchozího Lakehouse, pokud je definováno. | Při připojení výchozího datového úložiště Lakehouse |
currentRunId |
String | V referenčním spuštění je aktuální ID spuštění. | Pouze referenční provoz |
parentRunId |
String | V referenčním spuštění s vnořenými spuštěními je toto ID nadřazeného spuštění. | Pouze vnořené referenční běhy |
rootRunId |
String | V referenčním spuštění s vnořenými spuštěními je toto ID kořenové ID spuštění. | Pouze vnořené referenční běhy |
isForPipeline |
logický | Zda je spuštění určeno pro kanál. | Všechny kontexty |
isForInteractive |
logický | Určuje, jestli je spuštění interaktivní relací. | Všechny kontexty |
isReferenceRun |
logický | Určuje, jestli je aktuální spuštění referenčním spuštěním. | Všechny kontexty |
referenceTreePath |
String | Stromová struktura vnořených referenčních sekvencí, která se používá pouze pro hierarchii snímků na stránce L2 monitorování. | Pouze vnořené referenční běhy |
rootNotebookId |
String | ID kořenového poznámkového bloku v referenčním spuštění | Pouze referenční provoz |
rootNotebookName |
String | Název kořenového poznámkového bloku při referenčním běhu | Pouze referenční provoz |
rootWorkspaceId |
String | ID pracovního prostoru kořenového poznámkového bloku v referenčním běhu. | Pouze referenční provoz |
rootWorkspaceName |
String | Název pracovního prostoru kořenového poznámkového bloku v referenčním spuštění. | Pouze referenční provoz |
activityId |
String | ID úlohy Livy pro aktuální aktivitu. | Všechny kontexty |
hcReplId |
String | REPL ID v režimu vysoké souběžnosti. | Pouze režim vysoké souběžnosti |
clusterId |
String | Identita Azure Synapse Spark clusteru. | Všechny kontexty |
poolName |
String | Název používaného fondu Sparku. | Všechny kontexty |
environmentId |
String | ID prostředí, ve kterém je úloha spuštěná. | Všechny kontexty |
environmentWorkspaceId |
String | ID pracovního prostoru pro prostředí. | Všechny kontexty |
userId |
String | uživatelské ID aktuálního uživatele | Všechny kontexty |
userName |
String | Uživatelské jméno aktuálního uživatele. | Všechny kontexty |
currentKernel |
String | Název aktuálního jádra notebooku. | Pouze Python notebook |
productType |
String | Identifikátor typu produktu (například Fabric). |
Všechny kontexty |
Příklady použití
Přístup k základním informacím o kontextu
Pokud potřebujete přečíst více vlastností, ukažte kontextový objekt do mezipaměti.
context = notebookutils.runtime.context
print(f"Notebook: {context['currentNotebookName']}")
print(f"Workspace: {context['currentWorkspaceName']}")
print(f"Lakehouse: {context['defaultLakehouseName'] or 'None'}")
Kontrola kanálu vs. interaktivního spouštění
isForPipeline Použijte příznak k větvení logiky v závislosti na režimu spuštění. Například můžete v pipeline použít přísnější zpracování chyb.
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
Návod
Použijte isForPipeline a isReferenceRun společně, abyste implementovali třícestné větvení pro různé kontexty provádění. Tento vzor vám pomůže přizpůsobit počty opakování pokusů, úroveň podrobnosti protokolování a strategie pro zpracování chyb. Při produkčních úlohách obvykle spuštění pipelines a referenční běhy vyžadují přísnější zpracování chyb než interaktivní relace.
Prozkoumat hierarchii spuštění referenčního běhu
Když se notebook spustí jako součást vnořeného referenčního spuštění, můžete sledovat úplnou hierarchii od aktuálního spuštění zpět ke kořeni.
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")
Zahrnutí kontextu do protokolování
Obohaťte zprávy protokolu o kontext spuštění, aby bylo ladění a monitorování snazší.