次の方法で共有


Databricks アプリで環境変数を定義する

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 シークレットの管理の詳細については、「 シークレットの管理」を参照してください。