Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Biblioteki zmiennych pomagają uniknąć twardego kodowania wartości w kodzie notatnika. Zamiast edytować kod, należy zaktualizować wartości w bibliotece i pobrać je w czasie wykonywania. Ten wzorzec ułatwia ponowne używanie notesów między zespołami i projektami przez scentralizowanie konfiguracji.
W poniższej tabeli wymieniono dostępne metody biblioteki zmiennych:
| Metoda | Signature | Opis |
|---|---|---|
getLibrary |
getLibrary(variableLibraryName: String): VariableLibrary |
Pobiera obiekt z biblioteki zmiennych. Uzyskaj dostęp do zmiennych jako właściwości zwróconego obiektu, na przykład library.variableName. Możesz użyć składni getVariable('name') lub składni nawiasu library['name'] do uzyskania dostępu dynamicznego. |
get |
get(variableReference: String): Any |
Pobiera pojedynczą wartość zmiennej według ścieżki odwołania w formacie $(/**/libraryName/variableName). Prefiks /**/ jest wymagany. Wartość jest automatycznie wpisywana na podstawie definicji zmiennej. |
Definiowanie zmiennych
Zdefiniuj zmienne w bibliotece zmiennych przed użyciem polecenia notebookutils.variableLibrary. Biblioteki zmiennych można tworzyć i zarządzać nimi za pomocą interfejsu użytkownika sieci szkieletowej.
Pobieranie biblioteki zmiennych
Użyj getLibrary() polecenia , aby pobrać całą bibliotekę jako obiekt, a następnie uzyskać dostęp do zmiennych jako właściwości. Użyj składni getVariable('name') lub nawiasu library['name'], jeśli potrzebujesz dostępu dynamicznego.
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"]
W poniższym przykładzie pokazano, jak dynamicznie konstruować ścieżkę pliku przy użyciu wartości biblioteki zmiennych:
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)
Uzyskiwanie dostępu do pojedynczej zmiennej przez odwołanie
get() Użyj metody ze wzorcem $(/**/libraryName/variableName) odwołania, aby pobrać pojedynczą wartość zmiennej. Wartość jest automatycznie wpisywana na podstawie definicji zmiennej.
Ważna
Prefiks /**/ jest wymagany we wzorcu odwołania. Pełny wzorzec musi być $(/**/libraryName/variableName), gdzie libraryName jest dokładną nazwą elementu biblioteki zmiennych, a variableName jest zdefiniowaną zmienną w tej bibliotece. Nazwy są wrażliwe na wielkość liter.
notebookutils.variableLibrary.get("$(/**/samplevl/test_int)")
notebookutils.variableLibrary.get("$(/**/samplevl/test_str)")
notebookutils.variableLibrary.get("$(/**/samplevl/test_bool)")
Obsługiwane typy zmiennych
Biblioteki zmiennych obsługują następujące typy danych. Wartości są automatycznie wpisywane podczas ich pobierania — w większości przypadków nie trzeba ich jawnie rzutować.
| Typ | Opis | Przykład |
|---|---|---|
| String | Wartości tekstowe. | "my_connection_string" |
| Liczba całkowita | Liczby całkowite. | 42 |
| Boolean | Boolean prawda/fałsz. | true |
| Liczba | Liczby dziesiętne. | 3.14 |
| Data i czas | Wartości daty i godziny w formacie ISO 8601. | "2025-01-15T08:30:00Z" |
| Guid | Globalnie unikatowe identyfikatory. | "123e4567-e89b-12d3-a456-426614174000" |
| Referencja elementu | Odwołania do obsługiwanych elementów Fabric. | "workspace/item" |
Konfiguracja specyficzna dla środowiska
Biblioteki zmiennych umożliwiają obsługę zestawów wartości, które pozwalają definiować alternatywne zestawy wartości dla tych samych zmiennych — na przykład tworzenia, testowania i produkcji. Każdy obszar roboczy ma jeden aktywny zestaw wartości naraz, a potoki wdrażania mogą automatycznie aktywować odpowiedni zestaw wartości na etapie.
Ten schemat eliminuje konieczność wprowadzania zmian w kodzie podczas przenoszenia notesów w różnych środowiskach.
# 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")
Zagadnienia do rozważenia
Należy pamiętać o następujących kwestiach:
- Interfejs
notebookutils.variableLibraryAPI obsługuje tylko dostęp do bibliotek zmiennych w tym samym obszarze roboczym. Dostęp między obszarami roboczymi nie jest obsługiwany. - Podczas uruchamiania odwołania nie można pobierać bibliotek zmiennych między obszarami roboczymi w notesach podrzędnych.
- Kod notesu odwołuje się do zmiennych zdefiniowanych w aktywnym zestawie wartości biblioteki zmiennych. Aby użyć różnych wartości, aktywuj inny zestaw wartości w obszarze roboczym lub użyj potoków wdrażania, aby zarządzać zestawami wartości dla każdego środowiska.
- Jednostka usługi (SPN) nie jest obecnie obsługiwana w przypadku narzędzi biblioteki zmiennych.
- Biblioteki zmiennych są tylko do odczytu z notesów. Wprowadź zmiany za pomocą interfejsu użytkownika Fabric lub interfejsów API.
- Każda biblioteka obsługuje maksymalnie 1000 zmiennych i 1000 zestawów wartości, z maksymalnie 10 000 komórek i limitem rozmiaru 1 MB.
- W nazwach zmiennych i bibliotek wielkość liter jest znacząca. Podczas odwoływania się do zmiennych używaj dokładnego dopasowania nazw.
Tip
Użyj potoków wdrażania, aby automatycznie aktywować odpowiedni zestaw wartości dla każdego etapu (tworzenie, testowanie, prod). Eliminuje to konieczność ręcznego przełączania zestawów wartości lub modyfikowania kodu podczas promowania notesów w różnych środowiskach.