Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las bibliotecas de variables le ayudan a evitar valores de codificación rígida en el código del cuaderno. En lugar de editar código, actualizará los valores de la biblioteca y los recuperará en tiempo de ejecución. Este patrón le ayuda a reutilizar cuadernos en equipos y proyectos mediante la centralización de la configuración.
En la tabla siguiente se enumeran los métodos de biblioteca de variables disponibles:
| Método | Signature | Descripción |
|---|---|---|
getLibrary |
getLibrary(variableLibraryName: String): VariableLibrary |
Recupera un objeto de biblioteca de variables. Acceda a variables como propiedades en el objeto devuelto, como library.variableName. Puede usar getVariable('name') o la sintaxis library['name'] de corchetes para el acceso dinámico. |
get |
get(variableReference: String): Any |
Recupera un único valor de variable mediante su ruta de acceso de referencia con el formato $(/**/libraryName/variableName). Se requiere el /**/ prefijo. El valor se escribe automáticamente en función de la definición de variable. |
Definición de variables
Defina las variables de la biblioteca de variables antes de usar notebookutils.variableLibrary. Puede crear y administrar bibliotecas de variables a través de la interfaz de usuario de Fabric.
Recuperación de la biblioteca de variables
Use getLibrary() para recuperar toda la biblioteca como un objeto y, a continuación, acceda a variables como propiedades. Use la sintaxis getVariable('name') o library['name'] de corchetes cuando necesite acceso dinámico.
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"]
En el ejemplo siguiente se muestra cómo construir dinámicamente una ruta de acceso de archivo mediante valores de biblioteca de variables:
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)
Acceso a una sola variable por referencia
Use el get() método con el patrón $(/**/libraryName/variableName) de referencia para recuperar un único valor de variable. El valor se escribe automáticamente en función de la definición de variable.
Importante
El /**/ prefijo es necesario en el patrón de referencia. El patrón completo debe ser $(/**/libraryName/variableName), donde libraryName es el nombre exacto del elemento de biblioteca de variables y variableName es la variable definida en esa biblioteca. Los nombres distinguen mayúsculas de minúsculas.
notebookutils.variableLibrary.get("$(/**/samplevl/test_int)")
notebookutils.variableLibrary.get("$(/**/samplevl/test_str)")
notebookutils.variableLibrary.get("$(/**/samplevl/test_bool)")
Tipos de variables admitidos
Las bibliotecas de variables admiten los siguientes tipos de datos. Los valores se escriben automáticamente al recuperarlos; no es necesario convertirlos explícitamente en la mayoría de los casos.
| Tipo | Descripción | Ejemplo |
|---|---|---|
| String | Valores de texto. | "my_connection_string" |
| Entero | Números enteros. | 42 |
| Boolean | Boolean verdadero/falso. | true |
| Número | Números decimales. | 3.14 |
| DateTime | Valores de fecha y hora en formato ISO 8601. | "2025-01-15T08:30:00Z" |
| Guid | Identificadores únicos globales. | "123e4567-e89b-12d3-a456-426614174000" |
| Referencia de elemento | Referencias a componentes de Fabric compatibles. | "workspace/item" |
Configuración específica del entorno
Las bibliotecas de variables admiten conjuntos de valores, que permiten definir conjuntos alternativos de valores para las mismas variables, por ejemplo, desarrollo, prueba y prod. Cada área de trabajo tiene un valor activo establecido a la vez y las canalizaciones de implementación pueden activar automáticamente el conjunto de valores adecuado por fase.
Este patrón elimina la necesidad de cambios de código al promover cuadernos entre entornos:
# 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")
Consideraciones
Tenga en cuenta las consideraciones siguientes:
- La
notebookutils.variableLibraryAPI solo admite el acceso a las bibliotecas de variables dentro del mismo área de trabajo. No se admite el acceso entre áreas de trabajo. - No se pueden recuperar bibliotecas de variables entre áreas de trabajo de cuadernos secundarios durante una ejecución de referencia.
- El código del cuaderno hace referencia a las variables definidas en el conjunto de valores activos de la biblioteca de variables. Para usar valores diferentes, active un conjunto de valores diferente en el área de trabajo o use canalizaciones de implementación para administrar conjuntos de valores para cada entorno.
- La entidad de servicio (Service Principal, SPN) no es compatible actualmente con las utilidades de la biblioteca de variables.
- Las bibliotecas de variables son de solo lectura cuando se accede desde los cuadernos. Realice cambios a través de la interfaz de usuario o las API de Fabric.
- Cada biblioteca admite hasta 1000 variables y 1000 conjuntos de valores, con un máximo de 10 000 celdas y un límite de tamaño de 1 MB.
- Los nombres de variables y bibliotecas son sensibles a mayúsculas y minúsculas. Use coincidencias exactas de nombres al hacer referencia a variables.
Sugerencia
Utiliza canalizaciones de implementación para activar automáticamente el conjunto de valores adecuado para cada fase (desarrollo, prueba, producción). Esto elimina la necesidad de conmutar manualmente los conjuntos de valores o modificar el código al mover cuadernos entre entornos.