NotebookUtils változótár-segédprogramok a Fabrichez

A változókódtárak segítenek elkerülni a jegyzetfüzetkódban lévő keménykódolást. A kód szerkesztése helyett frissítenie kell a kódtár értékeit, és futásidőben kell lekérnie őket. Ez a minta segít a jegyzetfüzetek csapatok és projektek közötti újrafelhasználásában a konfiguráció központosításával.

Az alábbi táblázat az elérhető változótár-metódusokat sorolja fel:

Módszer Signature Leírás
getLibrary getLibrary(variableLibraryName: String): VariableLibrary Változótár-objektum lekérése. A változók tulajdonságként való elérése a visszaadott objektumon, például library.variableName. A dinamikus hozzáféréshez használhatja getVariable('name') vagy szögletes zárójelek szintaxisát library['name'] .
get get(variableReference: String): Any Egyetlen változóértéket kér le a formátum $(/**/libraryName/variableName)referenciaútvonala alapján. Az /**/ előtag megadása kötelező. Az érték automatikusan be lesz adva a változódefiníció alapján.

Változók meghatározása

Definiálja a változókat a változótárban a notebookutils.variableLibrary használata előtt. A Fabric felhasználói felületén keresztül változó könyvtárakat hozhat létre és kezelhet.

Képernyőkép a változótár változólistájáról.

Változótár lekérése

A getLibrary() használatával kérje le a teljes könyvtárat objektumként, majd a változókat tulajdonságokként érje el. Ha dinamikus hozzáférésre van szüksége, használjon getVariable('name') vagy szögletes zárójel szintaxist library['name'] .

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

Az alábbi példa bemutatja, hogyan hozhat létre dinamikusan fájlelérési utat változó tárértékek használatával:

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)

Egyetlen változó elérése hivatkozás alapján

Egyetlen változó értékének lekéréséhez használja a get() referenciamintát $(/**/libraryName/variableName) tartalmazó metódust. Az érték automatikusan be lesz adva a változódefiníció alapján.

Fontos

Az /**/ előtagot a referenciamintában kell megadni. A teljes mintának a következőnek kell lennie: $(/**/libraryName/variableName), ahol libraryName a változókönyvtár elemének pontos neve, és variableName a kódtárban definiált változó. A nevek megkülönböztetik a kis- és nagybetűket.

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

Támogatott változótípusok

A változótárak a következő adattípusokat támogatják. A rendszer automatikusan beírja az értékeket a lekéréskor – a legtöbb esetben nem kell explicit módon megadnia őket.

Típus Leírás Example
String Szöveges értékek. "my_connection_string"
Integer Egész számok. 42
boolean Logikai igaz/hamis. true
Szám Decimális számok. 3.14
DateTime Dátum- és időértékek ISO 8601 formátumban. "2025-01-15T08:30:00Z"
Guid Globálisan egyedi azonosítók. "123e4567-e89b-12d3-a456-426614174000"
Elemhivatkozás Támogatott Fabric elemekre mutató hivatkozások. "workspace/item"

Környezetspecifikus konfiguráció

A változókódtárak támogatják az értékhalmazokat, amelyek lehetővé teszik, hogy azonos változókhoz – például fejlesztéshez, teszteléshez és teszteléshez – alternatív értékkészleteket definiáljon. Minden munkaterületen egyszerre egy aktív érték van beállítva, és az üzembe helyezési folyamatok automatikusan aktiválhatják a megfelelő értékhalmazt fázisonként.

Ez a minta szükségtelenné teszi a kódmódosításokat, amikor notebookokat környezetek között mozgatunk.

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

Megfontolások

Tartsa szem előtt az alábbi szempontokat:

  • Az notebookutils.variableLibrary API csak ugyanazon a munkaterületen belül támogatja a változó kódtárak elérését. A munkaterületek közötti hozzáférés nem támogatott.
  • Referenciafuttatás során nem lehet változók könyvtárát lekérni gyermekjegyzetfüzetek munkaterületein keresztül.
  • A jegyzetfüzet kódja a változótár aktív értékhalmazában definiált változókra hivatkozik. Különböző értékek használatához aktiváljon egy másik értékkészletet a munkaterületen, vagy használja az üzembehelyezési folyamatokat az egyes környezetek értékkészleteinek kezeléséhez.
  • A szolgáltatásnév (SPN) jelenleg nem támogatott a változótár-segédprogramok esetében.
  • A változó könyvtárak írásvédetten érhetők el a jegyzetfüzetekből. Módosítások végrehajtása a Fabric UI-n vagy API-kkal.
  • Minden kódtár legfeljebb 1000 változót és 1000 értékkészletet támogat, legfeljebb 10 000 cellával és 1 MB méretkorláttal.
  • A változó- és könyvtárnevek megkülönböztetik a kis- és nagybetűket. A változókra való hivatkozáskor pontos névegyezést használjon.

Jótanács

Üzembehelyezési folyamatokkal automatikusan aktiválhatja az egyes fázisokhoz (fejlesztés, tesztelés, prod) tartozó megfelelő értéket. Ez szükségtelenné teszi az értékkészletek manuális váltását vagy a kód módosítását a jegyzetfüzetek környezetek közötti előléptetése során.