Definování proměnných prostředí v aplikaci Databricks

Azure Databricks automaticky nastaví určité proměnné prostředí v prostředí runtime aplikace. Tyto proměnné poskytují základní informace o aplikaci a pracovním prostoru a jsou ve výchozím nastavení přístupné pro všechny aplikace Databricks. Seznam výchozích proměnných naleznete v Prostředí aplikací Databricks.

Pokud vaše aplikace vyžaduje další proměnné prostředí, definujte je v konfiguračním souboru app.yaml v env části. Každá proměnná vyžaduje název a hodnotu. Proměnné můžou používat pevně zakódovanou hodnotu nebo odkazovat na externí zdroj.

Například:

env:
  - name: LOG_LEVEL
    value: 'debug'

Používejte tvrdé kódování hodnot pouze tehdy, pokud jsou statické, nesenzitivní a konzistentní v různých prostředích. Mezi příklady patří value: "true" přepínače funkcí, value: "us-west" pevné oblasti nebo value: "UTC" výchozí časové pásmo.

Důležité

Aby byla aplikace zabezpečená a přenosná, nikdy neodkazujte na tajné klíče ani jiné citlivé hodnoty přímo v konfiguraci aplikace. Vyhněte se například vkládání tajných hodnot do value pole proměnné prostředí nebo přímo ve zdrojovém kódu. Místo toho použijte pole valueFrom k bezpečnému odkazu na tajemství a další spravované prostředky definované v bloku vašich prostředků. Tím zajistíte, že se tajné kódy načtou z Azure Databricks za běhu a v konfiguračních souborech se nikdy nezpřístupní ve formátu prostého textu.

Použití proměnných prostředí pro přístup k prostředkům

Pokud definujete prostředky aplikace, jako jsou SQL sklady nebo tajné informace, odkazujte na tyto prostředky v části env souboru app.yaml pomocí pole valueFrom. Tímto se propojují proměnné prostředí ve vaší aplikaci s klíči prostředků definovanými v resources.

Příklad app.yaml fragmentu kódu:

env:
  - name: WAREHOUSE_ID
    valueFrom: sql_warehouse

  - name: SECRET_KEY
    valueFrom: secret

Pak v kódu své aplikace přistupujte k nim jako k proměnným prostředí:

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 odkaz

Následující tabulka ukazuje hodnotu, na kterou se každý typ prostředku valueFrom vyhodnotí:

Typ zdroje Vyřešená hodnota Příklad
Aplikace Databricks Název aplikace my-app
Genie Agent Identifikátor prostoru 01ef1fa2b3c45678
Databáze automatického škálování LakeBase Cesta ke koncovému bodu projects/my-project/branches/main/endpoints/ep123
Zřízená databáze Lakebase Host postgres-host.example.com
Úloha Lakeflow ID úlohy 123456789
Experiment MLflow ID experimentu 456789012
Koncový bod obsluhy modelu Název koncového bodu my-serving-endpoint
Tajný kód Dešifrovaná hodnota tajného kódu (hodnota tajného kódu)
SQL Warehouse ID skladu a1b2c3d4e5f67890
Připojení katalogu Unity Název připojení my_connection
Tabulka katalogu Unity Celý název tabulky catalog.schema.table
Svazek katalogu Unity Cesta ke svazku /Volumes/catalog/schema/volume
Uživatelem definovaná funkce Celé jméno funkce catalog.schema.my_function
Index vyhledávání AI Úplný název indexu catalog.schema.my_index

Další zdroje informací