Nástroje premenných knižníc NotebookUtils pre Fabric

Knižnice premenných vám pomáhajú vyhnúť sa tvrdému kódovaniu hodnôt v kóde zápisníka. Namiesto úpravy kódu aktualizujete hodnoty v knižnici a získavate ich za behu. Tento vzor vám pomáha opätovne používať zápisníky naprieč tímami a projektmi centralizovaním konfigurácie.

Nasledujúca tabuľka uvádza dostupné metódy knižníc premenných:

Method Podpis Description
getLibrary getLibrary(variableLibraryName: String): VariableLibrary Načíta objekt knižnice premenných. Pristupujte k premenným ako vlastnostiam na vrátenom objekte, napríklad library.variableName. Môžeš použiť getVariable('name') alebo vytvoriť zátvorkovú syntax library['name'] pre dynamický prístup.
get get(variableReference: String): Any Získa hodnotu jednej premennej podľa jej referenčnej cesty vo formáte $(/**/libraryName/variableName). Predpona /**/ je povinná. Hodnota sa automaticky typuje na základe definície premennej.

Definujte premenné

Definujte premenné vo svojej knižnici premenných pred použitím notebookutils.variableLibrary. Knižnice premenných môžete vytvárať a spravovať cez Fabric UI.

Snímka obrazovky so zoznamom premenných v knižnici premenných.

Knižnica premenných na získanie

Použite na getLibrary() získanie celej knižnice ako objektu a potom prístup k premenným ako vlastnostiam. Používajte alebo vytvárajte getVariable('name') zátvorkovú syntax, library['name'] keď potrebujete dynamický prístup.

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

Nasledujúci príklad ukazuje, ako dynamicky vytvoriť cestu k súboru pomocou hodnôt premenných knižníc:

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)

Prístup k jednej premennej pomocou odkazu

Použite metódu get() s referenčným vzorom $(/**/libraryName/variableName) na získanie hodnoty jednej premennej. Hodnota sa automaticky typuje na základe definície premennej.

Dôležité

Predpona /**/ je povinná v referenčnom vzore. Celý vzor musí byť $(/**/libraryName/variableName), kde libraryName je presná premenná názov položky knižnice a variableName je definovaná premenná v tejto knižnici. Mená sú citlivé na veľkosť písmena.

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

Podporované typy premenných

Knižnice premenných podporujú nasledujúce dátové typy. Hodnoty sa automaticky zadávajú pri ich získaní – vo väčšine prípadov ich nemusíte explicitne odosielať.

Typ Description Príklad
Povrázok Textové hodnoty. "my_connection_string"
Celé číslo Celočíselné čísla. 42
Boolean Booleovské pravdivé/nepravdivé. true
Number Desatinné čísla. 3.14
Dátum a čas Hodnoty dátumu a času vo formáte ISO 8601. "2025-01-15T08:30:00Z"
Sprievodca Globálne jedinečné identifikátory. "123e4567-e89b-12d3-a456-426614174000"
Referencia položky Odkazy na podporované Fabric položky. "workspace/item"

Konfigurácia špecifická pre prostredie

Knižnice premenných podporujú hodnotové množiny, ktoré vám umožňujú definovať alternatívne množiny hodnôt pre tie isté premenné – napríklad vývoj, test a produkcia. Každý pracovný priestor má naraz jednu aktívnu hodnotu a nasadzovacie pipeline môžu automaticky aktivovať príslušnú hodnotu pre jednotlivé fázy.

Tento vzor eliminuje potrebu zmien v kóde pri propagácii zápisníkov naprieč prostrediami:

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

Zváženia

Majte na pamäti tieto úvahy:

  • API notebookutils.variableLibrary podporuje prístup len k premenným knižniciam v rámci toho istého pracovného priestoru. Prístup medzi pracovnými priestormi nie je podporovaný.
  • Počas referenčného behu nemôžete vyhľadávať knižnice premenných naprieč pracovnými priestormi v detských zápisníkoch.
  • Kód zápisníka odkazuje na premenné definované v množine aktívnych hodnôt knižnice premenných. Ak chcete použiť rôzne hodnoty, aktivujte v pracovnom priestore inú sadu hodnôt alebo použite nasadovacie pipeline na správu hodnôt pre každé prostredie.
  • Service Principal (SPN) momentálne nie je podporovaný pre variabilné knižničné nástroje.
  • Knižnice premenných sú len na čítanie z notebookov. Zmeny robte cez Fabric UI alebo API.
  • Každá knižnica podporuje až 1 000 premenných a 1 000 hodnotových množín, s maximálne 10 000 buniek a limitom veľkosti 1 MB.
  • Názvy premenných a knižníc sú citlivé na veľkosť písmen. Pri odkazovaní na premenné používajte presné zhody názvov.

Prepitné

Použite deployment pipeline na automatickú aktiváciu príslušnej sady hodnôt pre každú fázu (vývoj, test, produkcia). Tým sa eliminuje potreba manuálne prepínať hodnotové sady alebo upravovať kód pri propagácii notebookov naprieč prostrediami.