Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Használja a notebookutils.runtime elemet az aktuális jegyzetfüzet-munkamenet környezeti információinak olvasására. Az állapot módosítása nélkül lekérheti a metaadatokat, például a jegyzetfüzet nevét, a munkaterület adatait, az alapértelmezett lakehouse-konfigurációt, a folyamatvégrehajtási jelzőket és a referencia-futtatási hierarchiát.
A futtatókörnyezet használata a következőkhöz:
- Dinamikus konfiguráció – A jegyzetfüzet viselkedésének adaptálása a végrehajtási környezet alapján.
- Feltételes logika – Áglogika attól függően, hogy a jegyzetfüzet egy folyamatban vagy interaktívan fut-e.
- Hibakeresés és figyelés – A környezeti tulajdonságok belefoglalása a naplókimenetbe, és a kapcsolódó végrehajtások korrelációja.
- Naplózási nyomok – Végrehajtási metaadatok rögzítése a megfelelőség és az életút nyomon követéséhez.
Megjegyzés:
A futtatókörnyezet Python-, PySpark-, Scala- és R-jegyzetfüzetekben érhető el. A környezet írásvédett – nem módosíthatja a notebookutils.runtime.context által visszaadott tulajdonságok egyikét sem. Egyes tulajdonságok csak meghatározott környezetekben vannak feltöltve, például referenciafuttatásokban vagy folyamatvégrehajtásokban, és máskülönben visszaadhatnak null vagy üres értékeket.
Munkamenet-környezet megtekintése
Használja a(z) notebookutils.runtime.context-t az aktuális munkamenet környezeti információinak megtekintéséhez, beleértve a jegyzetfüzet nevét, az alapértelmezett lakehouse-t, a munkaterület adatait, valamint azt, hogy a munkamenet folyamatvezetéken fut-e.
Az alábbi táblázat az elérhető tulajdonságokat ismerteti.
| Ingatlan | Típus | Leírás | Availability |
|---|---|---|---|
currentNotebookName |
Lánc | Az aktuális jegyzetfüzet neve. | Minden környezet |
currentNotebookId |
Lánc | Az aktuális jegyzetfüzet egyedi azonosítója. | Minden környezet |
currentWorkspaceName |
Lánc | Az aktuális munkaterület neve. | Minden környezet |
currentWorkspaceId |
Lánc | Az aktuális munkaterület azonosítója. | Minden környezet |
defaultLakehouseName |
Lánc | Az alapértelmezett lakehouse megjelenítendő neve, ha meg van adva. | Ha az alapértelmezett lakehouse hozzá van rendelve |
defaultLakehouseId |
Lánc | Az alapértelmezett lakehouse azonosítója, ha meg van adva. | Ha az alapértelmezett lakehouse hozzá van rendelve |
defaultLakehouseWorkspaceName |
Lánc | Az alapértelmezett lakehouse munkaterületneve, ha meg van adva. | Ha az alapértelmezett lakehouse hozzá van rendelve |
defaultLakehouseWorkspaceId |
Lánc | Az alapértelmezett lakehouse-munkaterület-azonosító, ha meg van adva. | Ha az alapértelmezett lakehouse hozzá van rendelve |
currentRunId |
Lánc | Referenciafuttatás esetén az aktuális futtatási azonosító. | Csak referenciateszt-futtatások |
parentRunId |
Lánc | Egy olyan referenciafuttatásban, amely beágyazott futtatásokat tartalmaz, ez az azonosító a szülő futamidő azonosítója. | Csak beágyazott referencia fut |
rootRunId |
Lánc | Beágyazott futtatásokkal rendelkező referenciafuttatásokban ez az azonosító a gyökérfuttatás azonosítója. | Csak beágyazott referencia fut |
isForPipeline |
logikai | Azt jelzi, hogy a futtatás egy folyamathoz készült-e. | Minden környezet |
isForInteractive |
logikai | Azt jelzi, hogy a futtatás interaktív munkamenet-e. | Minden környezet |
isReferenceRun |
logikai | Azt jelzi, hogy az aktuális futtatás referenciafuttatás-e. | Minden környezet |
referenceTreePath |
Lánc | A beágyazott referenciafutások faszerkezete, amelyet csak a pillanatkép-hierarchiában használnak a figyelési L2 oldalon. | Csak beágyazott referencia fut |
rootNotebookId |
Lánc | A gyökérjegyzetfüzet azonosítója egy referenciafuttatásban. | Csak referenciateszt-futtatások |
rootNotebookName |
Lánc | Egy referencia futtatás során a gyökérjegyzetfüzet neve. | Csak referenciateszt-futtatások |
rootWorkspaceId |
Lánc | A gyökérjegyzetfüzet munkaterület-azonosítója egy referenciafuttatásban. | Csak referenciateszt-futtatások |
rootWorkspaceName |
Lánc | A gyökérjegyzetfüzet munkaterületneve egy referenciafuttatásban. | Csak referenciateszt-futtatások |
activityId |
Lánc | Az aktuális tevékenység Livy-feladatazonosítója. | Minden környezet |
hcReplId |
Lánc | A REPL-azonosító magas párhuzamossági módban. | Nagyfokú egyidejűségi mód csak |
clusterId |
Lánc | Az Azure Synapse Spark klasterének identitása. | Minden környezet |
poolName |
Lánc | A használt Spark-készlet neve. | Minden környezet |
environmentId |
Lánc | A környezeti azonosító, amelyen a feladat fut. | Minden környezet |
environmentWorkspaceId |
Lánc | A környezet munkaterület-azonosítója. | Minden környezet |
userId |
Lánc | Az aktuális felhasználó felhasználói azonosítója. | Minden környezet |
userName |
Lánc | Az aktuális felhasználó felhasználóneve. | Minden környezet |
currentKernel |
Lánc | Az aktuális jegyzetfüzet kernelének neve. | Csak Python notebook |
productType |
Lánc | A terméktípus azonosítója (például Fabric). |
Minden környezet |
Felhasználási példák
Alapvető környezeti információk elérése
Tárolja gyorsítótárban a környezet-objektumot, ha több tulajdonságot kell olvasnia.
context = notebookutils.runtime.context
print(f"Notebook: {context['currentNotebookName']}")
print(f"Workspace: {context['currentWorkspaceName']}")
print(f"Lakehouse: {context['defaultLakehouseName'] or 'None'}")
Folyamat ellenőrzése és interaktív végrehajtás
A isForPipeline jelölő használatával a logikát a végrehajtási módtól függően elágaztathatja. Szigorúbb hibakezelést alkalmazhat például a folyamatfuttatásokban.
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
Jótanács
isForPipeline és isReferenceRun együttes használata háromirányú elágaztatás megvalósításához a különböző végrehajtási környezetekben. Ez a minta segít testre szabni az újrapróbálkozások számát, a naplózás részletességét és a hibakezelési stratégiákat. Éles számítási feladatok esetében a folyamat- és referenciafuttatások általában szigorúbb hibakezelést igényelnek, mint az interaktív munkamenetek.
A referenciafuttatási hierarchia vizsgálata
Ha egy jegyzetfüzet beágyazott referenciafuttatás részeként fut, a teljes hierarchiát visszakövetheti az aktuális futtatástól a gyökérig:
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")
A környezet bevonása a naplózásba
Gazdagítsa a naplóüzeneteket végrehajtási környezettel a könnyebb hibakeresés és figyelés érdekében: