Környezeti változók definiálása Databricks-alkalmazásokban

Azure Databricks automatikusan beállít bizonyos környezeti változókat az alkalmazás futtatókörnyezetében. Ezek a változók alapvető információkat nyújtanak az alkalmazásról és a munkaterületről, és alapértelmezés szerint minden Databricks-alkalmazás számára elérhetők. Az alapértelmezett változók listáját a Databricks Apps-környezetben találja.

Ha az alkalmazás további környezeti változókat igényel, definiálja őket a szakasz app.yaml konfigurációs fájljában env . Minden változóhoz név és érték szükséges. A változók használhatnak egy rögzített értéket, vagy hivatkozhatnak külső forrásra.

Például:

env:
  - name: LOG_LEVEL
    value: 'debug'

Csak akkor, ha statikusak, nem érzékenyek és konzisztensek a környezetekben. Ilyenek például value: "true" a funkcióváltók, value: "us-west" a rögzített régiók vagy value: "UTC" az alapértelmezett időzónák.

Fontos

Az alkalmazás biztonságának és hordozhatóságának megőrzése érdekében soha ne hivatkozzon titkos kulcsra vagy más bizalmas értékre közvetlenül az alkalmazáskonfigurációban. Kerülje például a titkos értékek beágyazását egy value környezeti változó mezőjébe vagy közvetlenül a forráskódba. Ehelyett a mező használatával biztonságosan hivatkozhat az valueFrom erőforrásblokkban definiált titkos kódokra és más felügyelt erőforrásokra. Ez biztosítja, hogy a titkos kulcsok lekérhetők Azure Databricks futtatókörnyezetben, és soha ne legyenek elérhetők egyszerű szövegben a konfigurációs fájlokban.

Környezeti változók használata erőforrások eléréséhez

Ha alkalmazáserőforrásokat, például SQL-raktárakat vagy titkos kulcsokat definiál, a mező használatával hivatkozzon ezekre az env erőforrásokra a app.yaml fájl szakaszábanvalueFrom. Ez összekapcsolja az alkalmazás környezeti változóit a megadott resourceserőforráskulcsokkal.

Példarészlet app.yaml :

env:
  - name: WAREHOUSE_ID
    valueFrom: sql_warehouse

  - name: SECRET_KEY
    valueFrom: secret

Ezután az alkalmazáskódban környezeti változókként érheti el őket:

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 hivatkozás

Az alábbi táblázat bemutatja, hogy valueFrom milyen értékre vezet az egyes erőforrástípusok esetében.

Erőforrás típusa Feloldott érték Example
Databricks-alkalmazás Alkalmazás neve my-app
Genie-ügynök Hely azonosítója 01ef1fa2b3c45678
A Lakebase automatikus méretezési adatbázisa Végpont elérési útja projects/my-project/branches/main/endpoints/ep123
A Lakebase kiépített adatbázisa Host postgres-host.example.com
Lakeflow-feladat Feladat azonosítója 123456789
MLflow-kísérlet Kísérlet azonosítója 456789012
Végpontot kiszolgáló modell Végpont neve my-serving-endpoint
Titkos kód Visszafejtött titkos kód értéke (a titkos kód értéke)
SQL Warehouse Raktárazonosító a1b2c3d4e5f67890
Unity Catalog-kapcsolat Kapcsolat neve my_connection
Unity Catalog-táblázat Tábla teljes neve catalog.schema.table
Unity Catalog-kötet Kötet elérési útja /Volumes/catalog/schema/volume
Felhasználó által definiált függvény Függvény teljes neve catalog.schema.my_function
AI Search index Index teljes neve catalog.schema.my_index

További erőforrások