Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Omgevingsvariabelen bieden implementatie-specifieke configuratie voor applicatiecode in serverless Lakeflow Jobs-taken. Definieer vermeldingen van benoemde omgevingsvariabelen op een taak en selecteer vervolgens een invoer voor elke taak die deze nodig heeft. Tijdens de bèta configureer je omgevingsvariabelen via de Jobs API.
Belangrijk
Deze functie bevindt zich in de bètaversie. Om het te gebruiken, moet een werkruimtebeheerder Omgevingsvariabelen inschakelen in Lakeflow Jobs vanaf de pagina Voornemen. Zie Azure Databricks previews beheren.
Deze pagina beschrijft omgevingsvariabelen voor serverless jobs. Serverless compute ondersteunt geen init-scripts. Als je workload op classic compute draait, raadpleeg dan Omgevingsvariabelen instellen en gebruiken met init-scripts.
Hoe omgevingsvariabelen werken
Invoer van omgevingsvariabelen wordt op functieniveau gedefinieerd. Elke invoer heeft een unieke sleutel, bevat inline variabelen en werkt met alle serverless taaktypes. Een invoersleutel kan alleen letters, cijfers, koppeltekens en onderstrepen bevatten. Elke inline-variabelenaam moet beginnen met een letter of onderstreep en mag alleen letters, cijfers en onderstreepjes bevatten.
Elke taak selecteert een enkele omgevingsvariabele-invoer met environment_variables_key en ontvangt alleen de variabelen van die invoer. Vermeldingen worden nooit gecombineerd en één vermelding kan niet van een andere erven. Een taak die weglaat environment_variables_key ontvangt geen omgevingsvariabelen.
Omgevingsvariabelen zijn alleen beschikbaar voor applicatiecode die in het taakproces draait. Ze zijn niet beschikbaar voor de uitvoeringslogica van Spark.
Requirements
- Een workspace-beheerder heeft Omgevingsvariabelen ingeschakeld in Lakeflow Jobs vanaf de pagina Previews . Zie Azure Databricks previews beheren.
- Taken die worden uitgevoerd in serverloze omgeving versie 5 of hoger.
Limitations
Gebruikersgedefinieerde functies (UDF's) kunnen omgevingsvariabelen niet lezen, omdat UDF's draaien in Spark-uitvoeringslogica in plaats van in het taakproces.
De volgende limieten gelden:
| Configuration | Limit |
|---|---|
| Invoer van omgevingsvariabelen per taak | 10 |
| Toegangssleutel | 1–100 tekens; Moet overeenkomen ^[\w-_]+$ |
| Inline variabelen per invoer | 100 |
| Naam van inline variabele | 1–256 tekens; Moet overeenkomen ^[A-Za-z_][A-Za-z0-9_]*$ |
| Waarde van inline variabelen | 512 tekens |
Configureer omgevingsvariabelen met de Jobs API
Gebruik het environment_variables veld in een POST /api/2.2/jobs/create verzoek om omgevingsvariabele-entries te definiëren. Zet environment_variables_key op elke taak die een invoer gebruikt.
Het volgende voorbeeld definieert aparte omgevingsvariabele-invoeren voor een notebooktaak en een JAR-taak. Elke taak selecteert zijn entry met environment_variables_key, en elk serverless task-type kan een entry op dezelfde manier gebruiken:
{
"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"
}
}
]
}
Je kunt ook vermeldingen voor omgevingsvariabelen configureren met de bewerkingen een taak bijwerken, alle instellingen voor een taak overschrijven en een eenmalige uitvoering indienen.
Lees omgevingsvariabelen in applicatiecode
Applicatiecode leest geconfigureerde variabelen uit de procesomgeving.
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")