Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Použite notebookutils.runtime na čítanie kontextových informácií o aktuálnej hodine zápisníka. Môžete získať metadáta ako názov notebooku, detaily pracovného priestoru, predvolenú konfiguráciu Lakehouse, príznaky vykonávania pipeline a hierarchiu referenčných behov bez zmeny stavu.
Použite kontext za behu na:
- Dynamická konfigurácia – Prispôsobiť správanie zápisníka na základe prostredia vykonávania.
- Podmienená logika – Vetvená logika v závislosti od toho, či notebook beží v pipeline alebo interaktívne.
- Ladenie a monitorovanie – Zahrňte vlastnosti kontextu do výstupu logu a korelujte súvisiace vykonávania.
- Auditné stopy – Zachytávajú metadáta vykonávania pre sledovanie súladu a pôvodu.
Poznámka
Runtime kontext je dostupný v notebookoch Python, PySpark, Scala a R. Kontext je iba na čítanie – nemôžete meniť žiadnu z vlastností vrátených pomocou notebookutils.runtime.context. Niektoré vlastnosti sa objavujú iba v špecifických kontextoch, ako sú referenčné behy alebo vykonávanie pipeline, a inak môžu vracať null alebo vyprázdniť hodnoty.
Zobraziť kontext relácie
Použite notebookutils.runtime.context na zobrazenie kontextových informácií pre aktuálnu reláciu, vrátane názvu zápisníka, predvoleného lakehouse, informácií o pracovnom priestore a či relácia beží v pipeline.
notebookutils.runtime.context
Nasledujúca tabuľka popisuje dostupné vlastnosti.
| Vlastnosť | Typ | Description | Dostupnosť |
|---|---|---|---|
currentNotebookName |
Povrázok | Názov aktuálneho zápisníka. | Všetky kontexty |
currentNotebookId |
Povrázok | Jedinečné ID aktuálneho zápisníka. | Všetky kontexty |
currentWorkspaceName |
Povrázok | Názov súčasného pracoviska. | Všetky kontexty |
currentWorkspaceId |
Povrázok | ID aktuálneho pracovného priestoru. | Všetky kontexty |
defaultLakehouseName |
Povrázok | Zobrazovaný názov predvoleného jazerného domu, ak je definovaný. | Keď je predvolený lakehouse pripojený |
defaultLakehouseId |
Povrázok | ID predvoleného jazerného domu, ak je definovaný. | Keď je predvolený lakehouse pripojený |
defaultLakehouseWorkspaceName |
Povrázok | Názov pracovného priestoru predvoleného jazerného domu, ak je definovaný. | Keď je predvolený lakehouse pripojený |
defaultLakehouseWorkspaceId |
Povrázok | ID pracovného priestoru predvoleného jazerného domu, ak je definované. | Keď je predvolený lakehouse pripojený |
currentRunId |
Povrázok | V referenčnom behu je aktuálne ID behu. | Iba referenčné behy |
parentRunId |
Povrázok | V referenčnom behu s vnorenými behmi je toto ID rodičovským behom. | Iba vnorené referenčné behy |
rootRunId |
Povrázok | V referenčnom behu s vnorenými behmi je toto ID koreňovým ID behu. | Iba vnorené referenčné behy |
isForPipeline |
booleovský | Či je beh na pipeline. | Všetky kontexty |
isForInteractive |
booleovský | Či je beh interaktívna. | Všetky kontexty |
isReferenceRun |
booleovský | Či je aktuálny beh referenčný beh. | Všetky kontexty |
referenceTreePath |
Povrázok | Stromová štruktúra vnorených referenčných behov, používaná iba pre hierarchiu snapshotov na monitorovacej L2 stránke. | Iba vnorené referenčné behy |
rootNotebookId |
Povrázok | ID koreňového zápisníka v referenčnom behu. | Iba referenčné behy |
rootNotebookName |
Povrázok | Názov koreňového zápisníka v referenčnom behu. | Iba referenčné behy |
rootWorkspaceId |
Povrázok | ID pracovného priestoru koreňového zápisníka v referenčnom behu. | Iba referenčné behy |
rootWorkspaceName |
Povrázok | Názov pracovného priestoru koreňového zápisníka v referenčnom behu. | Iba referenčné behy |
activityId |
Povrázok | Livy job ID pre aktuálnu aktivitu. | Všetky kontexty |
hcReplId |
Povrázok | REPL ID je v režime vysokej súbežnosti. | Iba režim vysokej súbežnosti |
clusterId |
Povrázok | Identita Azure Synapse Spark klastra. | Všetky kontexty |
poolName |
Povrázok | Názov Spark pool, ktorý sa používa. | Všetky kontexty |
environmentId |
Povrázok | Environment ID, kde úloha beží. | Všetky kontexty |
environmentWorkspaceId |
Povrázok | ID pracovného priestoru prostredia. | Všetky kontexty |
userId |
Povrázok | Používateľské ID aktuálneho používateľa. | Všetky kontexty |
userName |
Povrázok | Používateľské meno aktuálneho používateľa. | Všetky kontexty |
currentKernel |
Povrázok | Názov aktuálneho jadra notebooku. | Iba Python notebook |
productType |
Povrázok | Identifikátor typu produktu (napríklad Fabric). |
Všetky kontexty |
Príklady používania
Prístup k základným informáciám o kontexte
Ukladajte kontextový objekt do vyrovnávacej pamäte, keď potrebujete čítať viacero vlastností.
context = notebookutils.runtime.context
print(f"Notebook: {context['currentNotebookName']}")
print(f"Workspace: {context['currentWorkspaceName']}")
print(f"Lakehouse: {context['defaultLakehouseName'] or 'None'}")
Skontrolujte pipeline vs. interaktívne vykonávanie
Používajte isForPipeline flag na vetvenie logiky podľa režimu vykonávania. Napríklad môžete použiť prísnejšie spracovanie chýb v pipeline behoch.
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
Prepitné
Použiť isForPipeline a isReferenceRun spolu na implementáciu trojcestného vetvenia pre rôzne kontexty vykonávania. Tento vzor vám pomáha prispôsobiť počty opakovaných pokusov, zaznamenávanie rozvláčnosti a stratégie riešenia chýb. Pre produkčné pracovné zaťaženia zvyčajne vyžadujú pipeline a referenčné spustenia prísnejšie spracovanie chýb než interaktívne relácie.
Skontrolujte hierarchiu referenčných behov
Keď zápisník beží ako súčasť vnoreného referenčného behu, môžete sledovať celú hierarchiu od aktuálneho behu až ku koreňu:
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")
Zahrnúť kontext do logovania
Obohatte logové správy o kontext vykonávania pre jednoduchšie ladenie a monitorovanie:
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")