Knihovna nástrojů proměnných NotebookUtils pro Fabric

Knihovny proměnných pomáhají vyhnout se pevně zakódovaným hodnotám v kódu poznámkového bloku. Místo úprav kódu aktualizujete hodnoty v knihovně a načtete je za běhu. Tento model vám pomůže opakovaně používat poznámkové bloky napříč týmy a projekty centralizací konfigurace.

Následující tabulka uvádí dostupné metody knihovny proměnných:

Metoda Signature Description
getLibrary getLibrary(variableLibraryName: String): VariableLibrary Načte objekt knihovny proměnných. Přístup k proměnným jako vlastnosti vráceného objektu, například library.variableName. Pro dynamický přístup můžete použít syntaxi getVariable('name') nebo syntaxi závorek library['name'].
get get(variableReference: String): Any Načte jednu hodnotu proměnné podle jeho referenční cesty ve formátu $(/**/libraryName/variableName). Předpona je povinná /**/ . Hodnota se automaticky zadává na základě definice proměnné.

Definování proměnných

Před použitím notebookutils.variableLibrarydefinujte proměnné v knihovně proměnných . Knihovny proměnných můžete vytvářet a spravovat prostřednictvím uživatelského rozhraní Fabric.

Snímek obrazovky se seznamem proměnných v knihovně proměnných

Načti knihovnu proměnných

Slouží getLibrary() k načtení celé knihovny jako objektu a následnému přístupu k proměnným jako vlastnostem. Použijte getVariable('name') nebo syntaxi závorek library['name'], pokud potřebujete dynamický pří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"]

Následující příklad ukazuje, jak dynamicky vytvořit cestu k souboru pomocí hodnot knihovny proměnných:

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)

Přístup k jedné proměnné pomocí odkazu

Použijte metodu get() s referenčním vzorem $(/**/libraryName/variableName) k načtení jedné proměnné hodnoty. Hodnota se automaticky zadává na základě definice proměnné.

Důležité

Předpona /**/ je vyžadována v referenčním vzoru. Úplný vzor musí být $(/**/libraryName/variableName), kde libraryName je přesný název položky knihovny proměnných a variableName je definovaná proměnná v této knihovně. V názvech se rozlišují malá a velká písmena.

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

Podporované typy proměnných

Knihovny proměnných podporují následující datové typy. Hodnoty se při načítání automaticky zadají – ve většině případů je nemusíte explicitně přetypovat.

Typ Description Příklad
Řetězec Textové hodnoty. "my_connection_string"
Celé číslo Celá čísla. 42
Booleova logika Booleovská logická hodnota pravda/nepravda true
Číslo Desetinná čísla. 3.14
DateTime Hodnoty data a času ve formátu ISO 8601 "2025-01-15T08:30:00Z"
Guid Globálně jedinečné identifikátory. "123e4567-e89b-12d3-a456-426614174000"
Odkaz na položku Odkazy na podporované položky typu Fabric. "workspace/item"

Konfigurace specifická pro prostředí

Knihovny proměnných podporují sady hodnot, které umožňují definovat alternativní sady hodnot pro stejné proměnné – například vývoj, testování a prod. Každý pracovní prostor má současně nastavenou jednu aktivní hodnotu a kanály nasazení můžou automaticky aktivovat příslušnou sadu hodnot pro každou fázi.

Tento vzor eliminuje potřebu změn kódu při nasazování notebooků mezi prostředími.

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

Úvahy

Mějte na paměti tyto aspekty:

  • Rozhraní notebookutils.variableLibrary API podporuje přístup pouze k knihovnám proměnných v rámci stejného pracovního prostoru. Přístup mezi pracovními prostory se nepodporuje.
  • Během referenčního běhu nemůžete načíst knihovny proměnných napříč pracovními prostory v podřízených poznámkových blocích.
  • Kód poznámkového bloku odkazuje na proměnné definované v aktivní sadě hodnot knihovny proměnných. Pokud chcete použít různé hodnoty, aktivujte v pracovním prostoru jinou sadu hodnot nebo použijte kanály nasazení ke správě sad hodnot pro každé prostředí.
  • Service Principal (SPN) se v současné době nepodporuje pro nástroje knihovny proměnných.
  • Knihovny proměnných jsou jen pro čtení z poznámkových bloků. Proveďte změny prostřednictvím Fabric UI nebo API.
  • Každá knihovna podporuje až 1 000 proměnných a 1 000 sad hodnot, maximálně 10 000 buněk a limit velikosti 1 MB.
  • Názvy proměnných a knihoven jsou citlivé na velikost písmen. Když odkazujete na proměnné, použijte přesnou shodu názvů.

Návod

Pomocí nasazovacích kanálů můžete automaticky aktivovat příslušnou sadu hodnot pro každou etapu (vývoj, testování, produkce). To eliminuje nutnost ručního přepínání sad hodnot nebo úprav kódu při propagaci poznámkových bloků napříč prostředími.