Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Gebruik notebookutils.runtime deze optie om contextinformatie over de huidige notebooksessie te lezen. U kunt metagegevens zoals de naam van het notitieblok, werkruimtegegevens, standaardconfiguratie van Lakehouse, pijplijnuitvoeringsvlagken en referentie-uitvoeringshiërarchie ophalen zonder de status te wijzigen.
Runtime context gebruiken om te:
- Dynamische configuratie : notebookgedrag aanpassen op basis van de uitvoeringsomgeving.
- Voorwaardelijke logica – Vertakkingslogica, afhankelijk van of de notebook in een pijplijn of interactief wordt uitgevoerd.
- Foutopsporing en bewaking : contexteigenschappen opnemen in logboekuitvoer en gerelateerde uitvoeringen correleren.
- Audittrails : leg uitvoeringsmetagegevens vast voor naleving en tracering van herkomst.
Opmerking
Runtime-context is beschikbaar in Python, PySpark, Scala en R-notebooks. De context heeft het kenmerk Alleen-lezen. U kunt geen van de eigenschappen wijzigen die worden geretourneerd door notebookutils.runtime.context. Sommige eigenschappen worden alleen ingevuld in specifieke contexten, zoals referentie-uitvoeringen of pijplijn-uitvoeringen, en retourneren null of lege waarden anderszins.
Sessiecontext weergeven
Gebruik notebookutils.runtime.context om contextinformatie weer te geven voor de huidige sessie, inclusief de naam van het notitieblok, de standaard lakehouse, informatie over de werkruimte en of de sessie wordt uitgevoerd in een pipeline.
In de volgende tabel worden de beschikbare eigenschappen beschreven.
| Vastgoed | Typ | Beschrijving | Availability |
|---|---|---|---|
currentNotebookName |
Snaar / Touwtje | De naam van het huidige notitieblok. | Alle contexten |
currentNotebookId |
Snaar / Touwtje | De unieke ID van het huidige notitieblok. | Alle contexten |
currentWorkspaceName |
Snaar / Touwtje | De naam van de huidige werkruimte. | Alle contexten |
currentWorkspaceId |
Snaar / Touwtje | De ID van de huidige werkruimte. | Alle contexten |
defaultLakehouseName |
Snaar / Touwtje | De weergavenaam van het standaard lakehouse, indien gedefinieerd. | Wanneer standaard lakehouse is gekoppeld |
defaultLakehouseId |
Snaar / Touwtje | Het ID van de standaard lakehouse, indien gedefinieerd. | Wanneer standaard lakehouse is gekoppeld |
defaultLakehouseWorkspaceName |
Snaar / Touwtje | De naam van de werkruimte van het standaard lakehouse, indien gedefinieerd. | Wanneer standaard lakehouse is gekoppeld |
defaultLakehouseWorkspaceId |
Snaar / Touwtje | De werkruimte-id van het standaard lakehouse, indien gedefinieerd. | Wanneer standaard lakehouse is gekoppeld |
currentRunId |
Snaar / Touwtje | In een referentie-uitvoering, de huidige run-ID. | Alleen referentie-uitvoeringen |
parentRunId |
Snaar / Touwtje | In een verwijzingsuitvoering met geneste runs is deze id de bovenliggende run-ID. | Geneste verwijzing wordt alleen uitgevoerd |
rootRunId |
Snaar / Touwtje | In een verwijzingsuitvoering met geneste uitvoeringen is deze ID de basisrun-ID. | Geneste verwijzing wordt alleen uitgevoerd |
isForPipeline |
Boolean | Of de uitvoering voor een pijplijn is. | Alle contexten |
isForInteractive |
Boolean | Of de run een interactieve sessie is. | Alle contexten |
isReferenceRun |
Boolean | Of de huidige uitvoering een referentie-uitvoering is. | Alle contexten |
referenceTreePath |
Snaar / Touwtje | De boomstructuur van geneste referentie-uitvoeringen, alleen gebruikt voor de hiërarchie van momentopnamen op de L2-bewakingspagina. | Geneste verwijzing wordt alleen uitgevoerd |
rootNotebookId |
Snaar / Touwtje | De ID van het rootnotebook in een referentie-uitvoering. | Alleen referentie-uitvoeringen |
rootNotebookName |
Snaar / Touwtje | De naam van het hoofdnotebook in een referentie-uitvoering. | Alleen referentie-uitvoeringen |
rootWorkspaceId |
Snaar / Touwtje | De werkruimte-id van het hoofdnotebook in een referentieloop. | Alleen referentie-uitvoeringen |
rootWorkspaceName |
Snaar / Touwtje | De naam van de werkruimte van het hoofdnotebook in een referentie-uitvoering. | Alleen referentie-uitvoeringen |
activityId |
Snaar / Touwtje | De Livy-taak-id voor de huidige activiteit. | Alle contexten |
hcReplId |
Snaar / Touwtje | De REPL ID in de modus Hoge Gelijktijdigheid. | Modus voor hoge gelijktijdigheid alleen |
clusterId |
Snaar / Touwtje | De identiteit van het Synapse Spark-cluster. | Alle contexten |
poolName |
Snaar / Touwtje | De naam van de Spark-pool die wordt gebruikt. | Alle contexten |
environmentId |
Snaar / Touwtje | De omgevings-id waar de taak wordt uitgevoerd. | Alle contexten |
environmentWorkspaceId |
Snaar / Touwtje | De werkruimte-id van de omgeving. | Alle contexten |
userId |
Snaar / Touwtje | De gebruikers-id van de huidige gebruiker. | Alle contexten |
userName |
Snaar / Touwtje | De gebruikersnaam van de huidige gebruiker. | Alle contexten |
currentKernel |
Snaar / Touwtje | De naam van de huidige notebook-kernel. | Alleen Python Notebook |
productType |
Snaar / Touwtje | De producttype-id (bijvoorbeeld Fabric). |
Alle contexten |
Voorbeelden van gebruik
Basiscontextinformatie openen
Sla het contextobject in de cache op wanneer u meerdere eigenschappen moet lezen.
context = notebookutils.runtime.context
print(f"Notebook: {context['currentNotebookName']}")
print(f"Workspace: {context['currentWorkspaceName']}")
print(f"Lakehouse: {context['defaultLakehouseName'] or 'None'}")
Pijplijn controleren versus interactieve uitvoering
Gebruik de isForPipeline vlag om logica te vertakken, afhankelijk van de uitvoeringsmodus. U kunt bijvoorbeeld strengere foutafhandeling toepassen in pijplijnuitvoeringen.
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
Aanbeveling
Gebruik isForPipeline en isReferenceRun samen om vertakkingen in drie richtingen te implementeren voor verschillende uitvoeringscontexten. Dit patroon helpt u bij het aanpassen van het aantal herhaalpogingen, de uitvoerigheid van logboeken en foutafhandelingsstrategieën. Voor productieworkloads vereisen pijplijn- en referentieprocessen doorgaans strenger foutbeheer dan interactieve sessies.
De hiërarchie van de referentie-uitvoering inspecteren
Wanneer een notebook wordt uitgevoerd als onderdeel van een geneste referentie-uitvoering, kunt u de volledige hiërarchie traceren van de huidige uitvoering terug naar de root.
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")
Context opnemen in logboekregistratie
Verrijk logboekberichten met uitvoeringscontext voor eenvoudigere foutopsporing en bewaking: