Sdílet prostřednictvím


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

Azure Databricks automaticky nastaví určité proměnné prostředí v běhovém prostředí 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 najdete v systémovém prostředí Databricks Apps.

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;

Další informace o správě tajných kódů Azure Databricks najdete v tématu Správa tajných kódů.

Další kroky