Azure Databricks は、アプリ ランタイム環境で特定の環境変数を自動的に設定します。 これらの変数は、アプリとワークスペースに関する重要な情報を提供し、既定ではすべての Databricks アプリからアクセスできます。 既定の変数の一覧については、 Databricks Apps のシステム環境に関するページを参照してください。
アプリに追加の環境変数が必要な場合は、 セクションの env
構成ファイルで定義します。 各変数には、名前と値が必要です。 変数は、ハードコーディングされた値を使用することも、外部ソースを参照することもできます。
例えば次が挙げられます。
env:
- name: LOG_LEVEL
value: 'debug'
このようなハードコーディング値は、値が静的で機密性が低く、環境間で一貫性がある場合に安全です。 その他の安全な例としては、機能トグルの value: "true"
、固定リージョンの value: "us-west"
、既定のタイムゾーンの value: "UTC"
などがあります。
Von Bedeutung
アプリのセキュリティと移植性を維持するために、 シークレット キーやその他の機密値をアプリ構成で直接参照しないでください。 たとえば、環境変数の value
フィールドにシークレット値を埋め込んだり、ソース コードに直接埋め込んだりしないようにします。 代わりに、 valueFrom
フィールドを使用して、リソース ブロックで定義されているシークレットやその他のマネージド リソースを安全に参照します。 これにより、実行時にシークレットが Azure Databricks から取得され、構成ファイル内のプレーンテキストで公開されることはありません。
環境変数を使用してリソースにアクセスする
SQL ウェアハウスやシークレットなどのアプリ リソースを定義する場合は、env
フィールドを使用して、app.yaml
ファイルの valueFrom
セクションでこれらのリソースを参照します。 これにより、アプリの環境変数が、 resources
で定義されているリソース キーに接続されます。
例 app.yaml
スニペット:
env:
- name: WAREHOUSE_ID
valueFrom: sql_warehouse
- name: SECRET_KEY
valueFrom: secret
次に、アプリ コードで、環境変数としてアクセスします。
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;
Azure Databricks シークレットの管理の詳細については、「 シークレットの管理」を参照してください。