Jaa


NotebookUtils runtime context for Fabric

Käytä notebookutils.runtime kontekstitietojen lukemiseen nykyisestä muistikirjasessiosta. Voit hakea metatietoja, kuten muistikirjan nimen, työtilan tiedot, oletusasetuksen, putkiston suoritusliput ja viitesuoritushierarkian ilman, että sinun tarvitsee muuttaa mitään tilaa.

Käytä ajonaikaista kontekstia:

  • Dynaaminen konfigurointi – Mukauta muistikirjan toimintaa suoritusympäristön mukaan.
  • Ehdollinen logiikka – Haaralogiikka riippuen siitä, toimiiko muistikirja putkessa vai interaktiivisesti.
  • Virheenkorjaus ja valvonta – Sisällytä kontekstiominaisuudet lokitulosteeseen ja korreloi siihen liittyvät suoritukset.
  • Auditointijäljet – Kerää suorituksen metatiedot vaatimustenmukaisuuden ja sukulinjan seurantaa varten.

Muistio

Ajonaikainen konteksti on saatavilla Python-, PySpark-, Scala- ja R-muistikirjoissa. Konteksti on vain luku -ominaisuus—et voi muuttaa yhtäkään ominaisuutta, jonka palauttama notebookutils.runtime.context. Jotkut ominaisuudet täytetään vain tietyissä konteksteissa, kuten viiteajoissa tai putkistojen suorituksissa, ja muuten ne voivat palauttaa null tai tyhjentää arvoja.

Katso istuntokonteksti

Käytä notebookutils.runtime.context nykyisen istunnon kontekstitietojen katseluun, mukaan lukien muistikirjan nimi, oletusjärvitalo, työtilan tiedot sekä se, suoritetaanko istunto putkessa.

notebookutils.runtime.context

Seuraava taulukko kuvaa käytettävissä olevat ominaisuudet.

Ominaisuus Tyyppi Description Saatavuus
currentNotebookName merkkijono Nykyisen muistikirjan nimi. Kaikki kontekstit
currentNotebookId merkkijono Nykyisen muistikirjan ainutlaatuinen tunnus. Kaikki kontekstit
currentWorkspaceName merkkijono Nykyisen työtilan nimi. Kaikki kontekstit
currentWorkspaceId merkkijono Nykyisen työtilan tunniste. Kaikki kontekstit
defaultLakehouseName merkkijono Oletusjärvimajan näyttönimi, jos se on määritelty. Kun oletusjärvitalo on liitetty
defaultLakehouseId merkkijono Oletusjärvimajan ID, jos se on määritelty. Kun oletusjärvitalo on liitetty
defaultLakehouseWorkspaceName merkkijono Oletusjärvirakennuksen työtilan nimi, jos se on määritelty. Kun oletusjärvitalo on liitetty
defaultLakehouseWorkspaceId merkkijono Oletusjärvirakennuksen työtilan ID, jos se on määritelty. Kun oletusjärvitalo on liitetty
currentRunId merkkijono Referenssiajossa nykyinen ajotunnus. Vain viitejuoksut
parentRunId merkkijono Viiteajossa, jossa on sisäkkäisiä ajoja, tämä ID on vanhempi suoritus-ID. Vain sisäkkäiset viiteajot
rootRunId merkkijono Viiteajossa, jossa on sisäkkäisiä ajoja, tämä ID on juuri-suoritus-ID. Vain sisäkkäiset viiteajot
isForPipeline totuusarvo Onko juoksu putkea varten. Kaikki kontekstit
isForInteractive totuusarvo Onko juoksu interaktiivinen sessio. Kaikki kontekstit
isReferenceRun totuusarvo Onko nykyinen ajo viiteajo. Kaikki kontekstit
referenceTreePath merkkijono Sisäkkäisten referenssien puurakenne, jota käytetään vain snapshot-hierarkiassa valvonta-L2-sivulla. Vain sisäkkäiset viiteajot
rootNotebookId merkkijono Juurimuistikirjan ID viiteajossa. Vain viitejuoksut
rootNotebookName merkkijono Juurimuistikirjan nimi viiteajossa. Vain viitejuoksut
rootWorkspaceId merkkijono Juurimuistikirjan työtilan ID viiteajassa. Vain viitejuoksut
rootWorkspaceName merkkijono Juurimuistikirjan työtilan nimi viiteajassa. Vain viitejuoksut
activityId merkkijono Livyn työtunnus nykyiselle toiminnalle. Kaikki kontekstit
hcReplId merkkijono REPL-tunniste korkeassa rinnakkaistilassa. Vain korkea rinnakkaistila
clusterId merkkijono Synapse Spark -ryhmän identiteetti. Kaikki kontekstit
poolName merkkijono Spark-altaan nimi, jota käytettiin. Kaikki kontekstit
environmentId merkkijono Ympäristö-ID, jossa työ suoritetaan. Kaikki kontekstit
environmentWorkspaceId merkkijono Ympäristön työtilan tunnus. Kaikki kontekstit
userId merkkijono Nykyisen käyttäjän käyttäjätunnus. Kaikki kontekstit
userName merkkijono Nykyisen käyttäjän käyttäjänimi. Kaikki kontekstit
currentKernel merkkijono Nykyisen muistikirjan ytimen nimi. Vain Python Notebook
productType merkkijono Tuotetyypin tunniste (esim. Fabric). Kaikki kontekstit

Käyttöesimerkkejä

Pääsy peruskontekstitietoihin

Välimuistita kontekstiobjekti, kun sinun täytyy lukea useita ominaisuuksia.

context = notebookutils.runtime.context

print(f"Notebook: {context['currentNotebookName']}")
print(f"Workspace: {context['currentWorkspaceName']}")
print(f"Lakehouse: {context['defaultLakehouseName'] or 'None'}")

Tarkista putkisto vs. interaktiivinen suoritus

Käytä lippua isForPipeline haarautuaksesi logiikasta suoritustilan mukaan. Esimerkiksi voit soveltaa tiukempaa virheenkäsittelyä putkistoajoissa.

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

Vinkki

Käytä isForPipeline ja isReferenceRun yhdessä toteuttamaan kolmisuuntaista haarautumista eri suorituskonteksteissa. Tämä malli auttaa räätälöimään uusintayritysmäärät, lokien sanailut ja virheiden käsittelystrategiat. Tuotantokuormissa putkisto- ja referenssiajot vaativat tyypillisesti tiukempaa virheiden käsittelyä kuin interaktiiviset istunnot.

Tarkista viitejuoksuhierarkia

Kun muistikirja ajetaan osana sisäkkäistä viitesuoritusta, voit jäljittää koko hierarkian nykyisestä ajosta juurelle:

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")

Sisällytä konteksti lokimiseen

Rikasta lokiviestejä suorituskontekstilla helpompaa virheenkorjausta ja seurantaa varten:

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")