メインコンテンツまでスキップ

Databricks アプリにリソースを追加する

DatabricksDatabricksDatabricks SQLLakeFlowアプリは、データのクエリ 、データ取り込みと処理のためのMosaic AI Model Serving ジョブ、生成AI モデルへのアクセス 、機密情報を管理するための シークレットなど、さまざまなDatabricks プラットフォーム機能と統合できます。アプリのコンテキストでは、これらのプラットフォーム機能は リソース と呼ばれます。

アプリの移植性と安全性を確保するには、リソース ID をハードコーディングしないでください。たとえば、固定のSQL ウェアハウス IDapp.yaml をSQL ファイルに埋め込む代わりに、Databricks Apps UI または で ウェアハウスをリソースとして構成します。databricks.yaml

アプリは最小限の特権で実行され、Databricks プラットフォーム内の既存のリソースに依存します。デプロイすると、アプリのサービスプリンシパルはこれらのリソースにアクセスし、 SQL クエリのテーブルレベルのアクセスやシークレットへの読み取りアクセスなど、必要なアクセス許可を持っている必要があります。 「Databricks アプリでの承認の構成」を参照してください。

アプリのリソースを構成する

リソースを使用すると、アプリは、機密性の高い値や環境固有の値をハードコーディングすることなく、依存するサービスに安全に接続できます。

ほとんどのリソースは、アプリを作成または編集するときに 、アプリの UI に直接追加します。

[App リソース ] セクションで、[ + リソースの追加 ] をクリックし、使用するリソースの種類を選択します。各リソースにキーを割り当て、 app.yaml ファイルで参照します。

UI での SQLウェアハウスのアプリ リソースとしての追加

その後、 valueFrom フィールドを使用して、アプリ構成でこれらのリソースを参照できます。

環境変数を使用してリソースにアクセスする

アプリのリソースを定義したら、valueFrom フィールドを使用して、app.yaml ファイルの env セクションでこれらのリソースを参照します。これにより、アプリ内の環境変数が resourcesで定義されているリソースキーに接続されます。

スニペット app.yaml 例:

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"]

Databricks シークレットの管理の詳細については、 シークレットの管理を参照してください。