Databricks Appsにカスタムアプリをデプロイする方法

Databricks Appsでカスタムアプリをデプロイする手順を詳しく解説します。環境変数やシークレット設定、app.yamlの書き方まで、セキュアなデータアプリ開発の完全ガイドです。

目次

はじめに

Databricks Appsは、データアプリケーションを簡単に構築、デプロイ、共有できる機能です。StreamlitやDashなどのPythonフレームワークを使用したカスタムアプリケーションを、Databricksプラットフォーム上で直接ホストできます。

本記事では、Databricks UIを使用してカスタムアプリをデプロイする手順を詳しく解説します。特に、環境変数やシークレットの設定方法についても触れ、セキュアなアプリケーション開発を支援します。

 

前提条件

・Databricksワークスペースへのアクセス権限

・デプロイするアプリケーションのソースコード

・(任意)事前に設定されたシークレットスコープ

・(任意)On-Behalf-Of ユーザー認証を有効化

Databricks UIでカスタムアプリをデプロイする手順

1. アプリの作成を開始

1: Databricksワークスペースにログイン

2: 左側のメニューから Compute > Apps を選択

3: 画面右上の [Create app] ボタンをクリック

 

2. カスタムアプリの選択

アプリ作成画面が表示されたら [Create a custom app] をクリック

 

3. 基本情報の設定

アプリケーションの基本情報を入力します。

1: App name: アプリケーションの名前を入力(例:sales-dashboard-app

2: Description: アプリケーションの説明を記入

3: [Next: Configure] をクリックして次のステップへ進む

 

4. アプリケーションの設定 4-1. ソースコードの指定

アプリケーションのソースコードを指定する方法は複数あります。

・Git リポジトリ: GitHubなどのリポジトリURLを指定

・Databricks Repos: Databricks内で管理されているリポジトリを選択

・直接アップロード: ローカルファイルをアップロード

4-2. 環境変数とリソースの設定

[Add resource] をクリックして、必要なリソースを追加します。

a. シークレットの設定(推奨)

機密情報(APIキー、パスワードなど)を安全に管理するには:

1: 事前にシークレットスコープを作成しておく必要があります

2: [Add resource] > [Secret] を選択

3: 設定したシークレットスコープとキーを選択

4: 環境変数名を指定(アプリケーション内でアクセスする際の名前)

b. 環境変数の設定

通常の環境変数を設定する場合は以下の手順で行ってください。

1: [Add resource] > [Environment variable] を選択

2: 変数名と値を入力(ハードコーディングはセキュリティの観点から非推奨)

 

4-3. OBO(On-Behalf-Of)スコープの付与

アプリケーションがユーザーの代わりにDatabricksリソースにアクセスする必要がある場合は設定してください。OBOスコープを使用することで、アプリケーションはエンドユーザーの権限でDatabricksリソースにアクセスできるようになり、より柔軟なアプリケーション開発が可能になります。

1: [+ Add scope] をクリック

2: 必要なスコープを選択

 

 

5. app.yamlの設定例

カスタムアプリにはapp.yamlファイルが必要です。以下は設定例です。

# アプリケーションの起動コマンド
command: ["streamlit", "run", "app.py"]

# 環境変数の定義
env:
# シークレットから環境変数を設定
  - name: OPENAI_API_KEY
    valueFrom:
      secretKeyRef:
        name: openai-secret
        key: api-key

# Databricks固有の環境変数
  - name: DATABRICKS_HOST
    valueFrom: DATABRICKS_HOST

# リソース制限(オプション)
resources:
  limits:
    memory: "2Gi"
    cpu: "1"
6. requirements.txtの準備

requirements.txtにアプリケーションで使用するPythonパッケージを指定します。

streamlit>=1.28.0
pandas>=2.0.0
plotly>=5.17.0
databricks-sdk>=0.12.0
python-dotenv>=1.0.0
7. デプロイと起動

1: すべての設定を確認

2: [Deploy] ボタンをクリック

3: デプロイが完了すると、アプリケーションのURLが表示されます

4: URLをクリックしてアプリケーションにアクセス

 

 

以上の手順で、カスタムアプリをデプロイできます。

おわりに

Databricks Appsを使用することで、データ分析結果を活用したインタラクティブなアプリケーションを簡単にデプロイできます。

本記事で紹介した手順に従えば、セキュアで拡張性の高いカスタムアプリケーションをDatabricksプラットフォーム上に構築できるでしょう。ぜひ、あなたのデータ活用シーンに合わせたカスタムアプリケーションの開発に挑戦してみてください。

参考

[blogcard url=”https://docs.databricks.com/aws/ja/dev-tools/databricks-apps/deploy”]

[blogcard url=”https://qiita.com/kei1-dev/items/3e749e2519535f8c0d56″]

CTA
  • URLをコピーしました!
  • URLをコピーしました!
この記事を書いた人
目次