Udostępnij za pośrednictwem


Definiowanie zmiennych środowiskowych w aplikacji usługi Databricks

Azure Databricks automatycznie ustawia określone zmienne środowiskowe w środowisku uruchomieniowym aplikacji. Te zmienne zawierają podstawowe informacje o aplikacji i obszarze roboczym i są domyślnie dostępne dla wszystkich aplikacji usługi Databricks. Aby uzyskać listę zmiennych domyślnych, zobacz Środowisko usługi Databricks Apps.

Jeśli aplikacja wymaga dodatkowych zmiennych środowiskowych, zdefiniuj je w pliku konfiguracji app.yaml w env sekcji . Każda zmienna wymaga nazwy i wartości. Zmienne mogą używać zakodowanej na stałe wartości lub odwoływać się do źródła zewnętrznego.

Przykład:

env:
  - name: LOG_LEVEL
    value: 'debug'

Zakoduj tylko wartości stałe, gdy są statyczne, niewrażliwe i spójne w różnych środowiskach. Przykłady obejmują value: "true" przełączanie funkcji, value: "us-west" dla stałych regionów lub value: "UTC" domyślnych stref czasowych.

Ważne

Aby zapewnić bezpieczeństwo i przenośność aplikacji, nigdy nie należy odwoływać się do kluczy tajnych ani innych poufnych wartości bezpośrednio w konfiguracji aplikacji. Na przykład unikaj osadzania wartości tajnych w polu value zmiennej środowiskowej lub bezpośrednio w kodzie źródłowym. Zamiast tego użyj pola valueFrom, aby bezpiecznie odwoływać się do sekretów i innych zarządzanych zasobów zdefiniowanych w bloku zasobów. Dzięki temu wpisy tajne są pobierane z Azure Databricks w czasie wykonywania i nigdy nie są ujawniane w postaci zwykłego tekstu w plikach konfiguracyjnych.

Uzyskiwanie dostępu do zasobów przy użyciu zmiennych środowiskowych

Jeśli zdefiniujesz zasoby aplikacji, takie jak magazyny SQL lub tajne wpisy, odwołaj się do tych zasobów w sekcji env pliku app.yaml przy użyciu pola valueFrom. Spowoduje to połączenie zmiennych środowiskowych w aplikacji z kluczami zasobów zdefiniowanymi w pliku resources.

Przykładowy app.yaml fragment kodu:

env:
  - name: WAREHOUSE_ID
    valueFrom: sql_warehouse

  - name: SECRET_KEY
    valueFrom: secret

Następnie w kodzie aplikacji uzyskaj dostęp do nich jako zmienne środowiskowe:

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 odniesienie

W poniższej tabeli przedstawiono wartość, do której valueFrom się sprowadza dla każdego typu zasobu:

Typ zasobu Rozwiązana wartość Przykład
Aplikacja usługi Databricks Nazwa aplikacji my-app
Genie space Identyfikator miejsca 01ef1fa2b3c45678
Baza danych skalowania automatycznego w usłudze Lakebase Ścieżka punktu końcowego projects/my-project/branches/main/endpoints/ep123
Aprowizowana baza danych Lakebase Host postgres-host.example.com
Zadanie Lakeflow Identyfikator zadania 123456789
Eksperyment MLflow Identyfikator eksperymentu 456789012
Punkt końcowy obsługujący model Nazwa punktu końcowego my-serving-endpoint
Wpis tajny Odszyfrowana wartość wpisu tajnego (tajna wartość)
SQL Warehouse Identyfikator magazynu a1b2c3d4e5f67890
Połączenie katalogu Unity Nazwa połączenia my_connection
Tabela katalogu Unity Pełna nazwa tabeli catalog.schema.table
Wolumin wykazu aparatu Unity Ścieżka woluminu /Volumes/catalog/schema/volume
Funkcja zdefiniowana przez użytkownika Pełna nazwa funkcji catalog.schema.my_function
Indeks wyszukiwania wektorowego Pełna nazwa indeksu catalog.schema.my_index

Dalsze kroki