Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le variabili di ambiente forniscono una configurazione specifica per il deployment del codice applicativo nei compiti serverless Lakeflow Jobs. Definisci voci di variabili di ambiente nominate su un job, poi seleziona una voce per ogni task che ne ha bisogno. Durante la Beta, è possibile configurare le variabili di ambiente tramite l'API Jobs.
Importante
Questa funzionalità è in versione beta. Per utilizzarlo, un amministratore dello spazio di lavoro deve attivare le variabili di ambiente nei Lakeflow Jobs dalla pagina delle anteprime . Vedere Gestire le anteprime di Azure Databricks.
Questa pagina descrive le variabili dell'ambiente per i lavori serverless. L'elaborazione serverless non supporta gli script di inizializzazione. Se il tuo carico di lavoro gira su calcolo classico, vedi Imposta e usa variabili di ambiente con script di init.
Come funzionano le variabili ambientali
Le voci delle variabili di ambiente sono definite a livello di lavoro. Ogni voce ha una chiave unica, contiene variabili inline e funziona con tutti i tipi di attività serverless. Un tasto di ingresso può contenere solo lettere, numeri, trattini e sottoline. Ogni nome di variabile in linea deve iniziare con una lettera o un trattino basso e può contenere solo lettere, numeri e trattini bassi.
Ogni task seleziona una singola voce di variabile ambientale con environment_variables_key e riceve solo le variabili di quella voce. Le voci non vengono mai combinate e una voce non può ereditare da un'altra. Un compito che omette environment_variables_key non riceve variabili ambientali.
Le variabili di ambiente sono disponibili solo per il codice applicativo che viene eseguito nel processo di attività. Non sono disponibili per la logica di esecuzione di Spark.
Requirements
- Un amministratore dello spazio di lavoro ha attivato le variabili di ambiente nei processi Lakeflow nella pagina Anteprime. Vedere Gestire le anteprime di Azure Databricks.
- Attività che girano su ambiente serverless versione 5 o successiva.
Limitazioni
Le funzioni definite dall'utente (UDF) non possono leggere le variabili ambientali, perché le UDF girano nella logica di esecuzione di Spark invece che nel processo di attività.
Si applicano i seguenti limiti:
| Configuration | Limit |
|---|---|
| Voci variabili di ambiente per lavoro | 10 |
| Chiave di ingresso | 1–100 caratteri; Deve essere corrispondente ^[\w-_]+$ |
| Variabili in linea per elemento | 100 |
| Nome della variabile inline | 1–256 caratteri; Deve essere corrispondente ^[A-Za-z_][A-Za-z0-9_]*$ |
| Valore della variabile in linea | 512 caratteri |
Configura le variabili dell'ambiente con l'API Jobs
Usa il campo environment_variables in una richiesta POST /api/2.2/jobs/create per definire le voci di variabile d'ambiente. Imposta environment_variables_key su ogni attività che utilizza un elemento.
Il seguente esempio definisce voci separate per le variabili ambientali di un compito notebook e per un compito JAR. Ogni task seleziona il proprio elemento con environment_variables_key e qualsiasi tipo di task serverless può usare un elemento allo stesso 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"
}
}
]
}
Puoi anche configurare le voci delle variabili dell'ambiente con Aggiorna un lavoro, Sovrascrive tutte le impostazioni di un lavoro e Invia un'esecuzione una tantum .
Leggi le variabili ambientali nel codice applicativo
Il codice applicativo legge le variabili configurate dall'ambiente di processo.
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")