Udostępnij przez


Definiowanie zmiennych środowiskowych w aplikacji usługi Databricks

Usługa 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 systemowe 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 tajne dane są pobierane z usługi Azure Databricks w trakcie działania i nigdy nie pojawiają się w formie jawnego tekstu w plikach konfiguracji.

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;

Aby dowiedzieć się więcej na temat zarządzania wpisami tajnymi usługi Azure Databricks, zobacz Zarządzanie wpisami tajnymi.

Dalsze kroki