Del via


NotebookUtils variable bibliotekverktøy for Fabric

Variabelbiblioteker hjelper deg å unngå hardkoding av verdier i notatbokkode. I stedet for å redigere koden, oppdaterer du verdiene i biblioteket og henter dem under kjøring. Dette mønsteret hjelper deg å gjenbruke notatbøker på tvers av team og prosjekter ved å sentralisere konfigurasjonen.

Følgende tabell viser tilgjengelige metoder for variabelbibliotek:

Metode Signatur Beskrivelse
getLibrary getLibrary(variableLibraryName: String): VariableLibrary Henter et variabelt bibliotekobjekt. Aksessvariabler som egenskaper på det returnerte objektet, slik som library.variableName. Du kan bruke getVariable('name') eller parentessyntaks library['name'] for dynamisk tilgang.
get get(variableReference: String): Any Henter en enkelt variabelverdi via dens referansesti i formatet $(/**/libraryName/variableName). Prefikset /**/ er påkrevd. Verdien skrives automatisk basert på variabeldefinisjonen.

Definer variabler

Definer variablene i variabelbiblioteket ditt før du bruker notebookutils.variableLibrary. Du kan opprette og administrere variabelbiblioteker gjennom Fabric UI.

Skjermbilde av variabellisten i variabelbiblioteket.

Hent variabelbibliotek

Bruk getLibrary() for å hente hele biblioteket som et objekt, og deretter få tilgang til variabler som egenskaper. Bruk getVariable('name') eller klammesyntaks library['name'] når du trenger dynamisk tilgang.

samplevl = notebookutils.variableLibrary.getLibrary("sampleVL")

# Property access
samplevl.test_int
samplevl.test_str

# Method access (useful for dynamic variable names)
samplevl.getVariable("test_int")

# Bracket access
samplevl["test_int"]

Følgende eksempel viser hvordan man dynamisk konstruerer en filsti ved bruk av variabelbibliotekverdier:

samplevl = notebookutils.variableLibrary.getLibrary("sampleVL")

file_path = f"abfss://{samplevl.Workspace_name}@onelake.dfs.fabric.microsoft.com/{samplevl.Lakehouse_name}.Lakehouse/Files/<FileName>.csv"
df = spark.read.format("csv").option("header","true").load(file_path)

display(df)

Få tilgang til én enkelt variabel etter referanse

Bruk get() metoden med referansemønsteret $(/**/libraryName/variableName) for å hente en enkelt variabelverdi. Verdien skrives automatisk basert på variabeldefinisjonen.

Viktig!

Prefikset /**/ kreves i referansemønsteret. Det fullstendige mønsteret må være $(/**/libraryName/variableName), hvor libraryName er det eksakte variabelnavnet på bibliotekets element og variableName er den definerte variabelen i det biblioteket. Navnene er små og små bokstaver.

notebookutils.variableLibrary.get("$(/**/samplevl/test_int)")
notebookutils.variableLibrary.get("$(/**/samplevl/test_str)")
notebookutils.variableLibrary.get("$(/**/samplevl/test_bool)")

Støttede variabeltyper

Variabelbiblioteker støtter følgende datatyper. Verdier skrives automatisk når du henter dem—du trenger i de fleste tilfeller ikke kaste dem eksplisitt.

Type Beskrivelse Eksempel
Streng Tekstverdier. "my_connection_string"
Heltall Heltall. 42
Boolsk Boolsk sann/usant. true
Number Desimaltall. 3.14
DateTime Dato- og tidsverdier i ISO 8601-format. "2025-01-15T08:30:00Z"
GUID Globalt unike identifikatorer. "123e4567-e89b-12d3-a456-426614174000"
Gjenstandsreferanse Referanser til støttede Fabric-produkter. "workspace/item"

Miljøspesifikk konfigurasjon

Variabelbiblioteker støtter verdisett, som lar deg definere alternative verdisett for de samme variablene—for eksempel dev, test og prod. Hvert arbeidsområde har ett aktivt verdisett om gangen, og distribusjonspipelines kan automatisk aktivere det riktige verdisettet per trinn.

Dette mønsteret eliminerer behovet for kodeendringer når du promoterer notatbøker på tvers av miljøer:

# These values change based on the active value set (dev/test/prod)
app_config = notebookutils.variableLibrary.getLibrary("app_config")

api_endpoint = app_config.api_endpoint
batch_size = app_config.batch_size
debug_mode = app_config.debug_enabled

print(f"API Endpoint: {api_endpoint}")
print(f"Batch Size: {batch_size}")
print(f"Debug Mode: {debug_mode}")

if debug_mode:
    print("Running in debug mode")

Vurderinger

Husk disse hensynene:

  • API-et notebookutils.variableLibrary støtter kun tilgang til variabelbiblioteker innenfor samme arbeidsområde. Kryss-arbeidsområde-tilgang støttes ikke.
  • Du kan ikke hente variabelbiblioteker på tvers av arbeidsområder i barnenotatbøker under en referansekjøring.
  • Notatbokkoden refererer til variablene som er definert i det aktive verdisettet i variabelbiblioteket. For å bruke forskjellige verdier, aktiver et annet verdisett i arbeidsområdet eller bruk distribusjonspipelines for å administrere verdisett for hvert miljø.
  • Service Principal (SPN) støttes for øyeblikket ikke for variable biblioteksverktøy.
  • Variable biblioteker er skrivebeskyttet fra notatbøker. Gjør endringer gjennom Fabric UI eller API-er.
  • Hvert bibliotek støtter opptil 1 000 variabler og 1 000 verdisett, med maksimalt 10 000 celler og en størrelsesgrense på 1 MB.
  • Variabel- og biblioteksnavn er små og små og små bokstaver. Bruk nøyaktig navnematching når du refererer til variabler.

Tips

Bruk distribusjonspipelines for automatisk å aktivere det riktige verdisettet for hvert trinn (utvikling, test, produksjon). Dette eliminerer behovet for manuelt å bytte verdisett eller endre kode når man promoterer notatbøker på tvers av miljøer.