Delen via


Omgevingsvariabelen definiëren in een Databricks-app

Azure Databricks stelt automatisch bepaalde omgevingsvariabelen in de runtime-omgeving van de app in. Deze variabelen bieden essentiële informatie over de app en werkruimte en zijn standaard toegankelijk voor alle Databricks-apps. Zie de Databricks Apps-omgeving voor een lijst met standaardvariabelen.

Als voor uw app aanvullende omgevingsvariabelen zijn vereist, definieert u deze in het configuratiebestand app.yaml in de env sectie. Voor elke variabele zijn een naam en een waarde vereist. Variabelen kunnen een in code vastgelegde waarde gebruiken of verwijzen naar een externe bron.

Voorbeeld:

env:
  - name: LOG_LEVEL
    value: 'debug'

Alleen hardcodewaarden wanneer ze statisch, niet-gevoelig en consistent zijn in verschillende omgevingen. Voorbeelden hiervan zijn value: "true" wisselknoppen voor functies, value: "us-west" voor vaste regio's of value: "UTC" voor standaardtijdzones.

Belangrijk

Als u uw app veilig en draagbaar wilt houden, moet u nooit rechtstreeks verwijzen naar geheime sleutels of andere gevoelige waarden in uw app-configuratie. Vermijd bijvoorbeeld het insluiten van geheime waarden in het value veld van een omgevingsvariabele of rechtstreeks in uw broncode. Gebruik in plaats daarvan het valueFrom veld om veilig te verwijzen naar geheimen en andere beheerde resources die zijn gedefinieerd in uw resourcesblok. Dit zorgt ervoor dat geheimen tijdens runtime worden opgehaald uit Azure Databricks en nooit worden weergegeven in tekst zonder opmaak in uw configuratiebestanden.

Omgevingsvariabelen gebruiken voor toegang tot resources

Als u app-resources, zoals SQL-magazijnen of geheimen, definieert, raadpleegt u deze resources in de env sectie van uw app.yaml bestand met behulp van het valueFrom veld. Hiermee worden omgevingsvariabelen in uw app verbonden met de resourcesleutels die zijn gedefinieerd in resources.

Voorbeeldfragment app.yaml :

env:
  - name: WAREHOUSE_ID
    valueFrom: sql_warehouse

  - name: SECRET_KEY
    valueFrom: secret

Open deze vervolgens in uw app-code als omgevingsvariabelen:

Python

import os

warehouse_id = os.getenv("WAREHOUSE_ID")
secret_value = os.getenv("SECRET_KEY")

Javascript

const warehouseId = process.env.WAREHOUSE_ID;
const secretValue = process.env.SECRET_KEY;

valueFrom referentie

In de volgende tabel ziet u de waarde waarnaar valueFrom wordt omgezet voor elk resourcetype.

Hulpmiddeltype Opgeloste waarde Voorbeeld
Databricks-app App-naam my-app
Genie Space Space ID 01ef1fa2b3c45678
Database voor automatisch schalen van Lakebase Pad naar eindpunt projects/my-project/branches/main/endpoints/ep123
Met Lakebase ingerichte database Host postgres-host.example.com
Lakeflow-taak Functie-ID 123456789
MLflow-experiment Experiment-id 456789012
Eindpunt voor modellering Eindpuntnaam my-serving-endpoint
Geheim Ontsleutelde geheime waarde (de geheime waarde)
SQL Warehouse Magazijn-id a1b2c3d4e5f67890
Unity Catalog-verbinding Verbindingsnaam my_connection
Unity Catalog-tabel Volledige tabelnaam catalog.schema.table
Unity Catalog-volume Volumepad /Volumes/catalog/schema/volume
Door de gebruiker gedefinieerde functie Volledige naam van functie catalog.schema.my_function
Vectorzoekindex Volledige naam indexeren catalog.schema.my_index

Volgende stappen