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 variables de entorno proporcionan una configuración específica para el despliegue del código de la aplicación en tareas de Lakeflow Jobs sin servidor. Define entradas de variables de entorno nombradas en un trabajo y luego selecciona una entrada para cada tarea que la necesite. Durante la Beta, configuras las variables de entorno a través de la API de Empleos.
Importante
Esta característica se encuentra en su versión beta. Para usarlo, un administrador de espacio de trabajo debe activar las variables de Entorno en Lakeflow Jobs desde la página de Previsualizaciones . Consulte Administrar versiones preliminares de Azure Databricks.
Esta página describe variables de entorno para trabajos sin servidor. El computo serverless no soporta scripts de init. Si tu carga de trabajo funciona en computación clásica, consulta Establecer y usar variables de entorno con scripts de init.
Cómo funcionan las variables de entorno
Las entradas de variables de entorno se definen a nivel de trabajo. Cada entrada tiene una clave única, contiene variables en línea y funciona con todos los tipos de tareas sin servidor. Una clave de registro solo puede contener letras, números, guiones medios y guiones bajos. El nombre de cada variable en línea debe comenzar con una letra o un guion bajo y puede contener solo letras, números y guiones bajos.
Cada tarea selecciona una única entrada de variable de entorno con environment_variables_key y recibe solo las variables de esa entrada. Las entradas nunca se combinan, y una entrada no puede heredar de otra. Una tarea que omite environment_variables_key no recibe ninguna variable de entorno.
Las variables de entorno solo están disponibles para el código de aplicación que se ejecuta en el proceso de la tarea. No están disponibles para la lógica de ejecución de Spark.
Requisitos
- Un administrador de espacio de trabajo ha activado las variables de Entorno en Lakeflow Jobs desde la página de Previsualizaciones . Consulte Administrar versiones preliminares de Azure Databricks.
- Tareas que se ejecutan en entornos sin servidor de la versión 5 o posteriores.
Limitations
Las funciones definidas por el usuario (UDFs) no pueden leer variables de entorno, porque las UDF se ejecutan en la lógica de ejecución de Spark en lugar del proceso de tarea.
Se aplican los siguientes límites:
| Configuración | Limit |
|---|---|
| Entradas de variables de entorno por trabajo | 10 |
| Clave de entrada | 1–100 caracteres; Debe coincidir ^[\w-_]+$ |
| Variables en línea por entrada | 100 |
| Nombre de la variable en línea | 1–256 caracteres; Debe coincidir ^[A-Za-z_][A-Za-z0-9_]*$ |
| Valor de la variable en línea | 512 caracteres |
Configurar variables de entorno con la API Jobs
Utiliza el environment_variables campo en una POST /api/2.2/jobs/create petición para definir entradas de variables de entorno. Establece environment_variables_key en cada tarea que use una entrada.
El siguiente ejemplo define entradas separadas para variables de entorno para una tarea de notebook y una tarea JAR. Cada tarea selecciona su entrada con environment_variables_key, y cualquier tipo de tarea sin servidor puede usar una entrada del mismo modo:
{
"name": "serverless-environment-variables-example",
"tasks": [
{
"task_key": "process_orders",
"notebook_task": {
"notebook_path": "/Workspace/Shared/process-orders"
},
"environment_key": "default",
"environment_variables_key": "production"
},
{
"task_key": "summarize",
"spark_jar_task": {
"main_class_name": "com.company.main"
},
"environment_key": "summary_env",
"environment_variables_key": "summary_vars"
}
],
"environments": [
{
"environment_key": "default",
"spec": {
"environment_version": "5",
"dependencies": []
}
},
{
"environment_key": "summary_env",
"spec": {
"environment_version": "5",
"java_dependencies": ["/Volumes/company/default/prod/summarize.jar"]
}
}
],
"environment_variables": [
{
"environment_variables_key": "production",
"variables": {
"APP_ENV": "production",
"REGION": "us-west-2"
}
},
{
"environment_variables_key": "summary_vars",
"variables": {
"APP_ENV": "production",
"LOG_LEVEL": "INFO",
"LOG_FILE": "service.log"
}
}
]
}
También puedes configurar entradas de variables de entorno con Actualizar un trabajo, Sobrescribir todos los ajustes de un trabajo y Enviar una operación de ejecución única .
Leer variables de entorno en el código de la aplicación
El código de la aplicación lee variables configuradas del entorno del proceso.
Python
import os
app_environment = os.environ["APP_ENV"]
region = os.environ["REGION"]
Scala
val appEnvironment = sys.env("APP_ENV")
val region = sys.env("REGION")