概要
Databricks Apps とは
Databricks Apps は、ワークスペース内で Web アプリをホストします。固定 URL、組み込みの OAuth、ワークスペースのデータとサービスへの直接アクセスが利用できます。別途ホスティングサービスを用意する必要も、認証レイヤーを自作する必要も、資格情報のローテーションを管理する必要もありません。
AppKit は、こうしたアプリを構築するための TypeScript SDK です。あらかじめ用意された React UI コンポーネント、型安全なデータアクセス、Databricks サービスに接続するためのプラグインシステムを提供します。
仕組み
AppKit は 3 層アーキテクチャを採用しており、各層に機能を登録するプラグインで構成されます。
- クライアント: Vite が配信する React フロントエンド。
@databricks/appkit-uiパッケージは、データテーブル、チャート、ダイアログ、レイアウトコンポーネントを提供します。 - サーバー: Databricks OAuth を組み込んだ Express HTTP サーバー。プラグインはこの層でルートとミドルウェアを追加します。
- データ: Databricks リソースへのプラグインベースのアクセス。各プラグインはリソースタイプをラップし、
AppKitオブジェクト上に型付き API を公開します。
| プラグイン | 追加される機能 |
|---|---|
| server | Express HTTP サーバー、静的ファイル配信、Vite 開発モード(常に含まれます) |
| lakebase | Lakebase Postgres 向けの Postgres 接続プール。OAuth トークンの自動更新に対応 |
| analytics | Databricks SQL Warehouses に対する SQL クエリの実行。分析的な読み取りを参照してください。 |
| genie | 自然言語によるデータクエリを可能にする Genie Agent 連携 |
| serving | Model Serving endpoint への認証済みプロキシ。ストリーミングに対応 |
| files | Unity Catalog Volumes に対するファイル操作 |
| agents | Markdown またはコードで定義する AI エージェント。ツールの自動検出に対応 |
| ai-search | AI Search インデックスに対するセマンティック検索およびベクトル検索 |
| jobs | Databricks Lakeflow Jobs のトリガーと監視 |
| caching | グローバルおよびプラグイン単位のレスポンスキャッシュ。利用可能な場合は Lakebase Postgres をバックエンドとして使用 |
最新のプラグイン一覧については、プラグインリファレンスを参照してください。
認証の仕組み
各アプリには専用のサービスプリンシパルが割り当てられます。Databricks が実行時にその資格情報を注入するため、アプリはトークンを管理することなくワークスペースの API を呼び出せます。
デフォルトでは、すべてのリクエストがこのサービスプリンシパルとして実行され、すべてのユーザーがその権限を共有します。ユーザーごとにデータアクセスを制御したい場合は、Databricks がサインイン中のユーザーのトークンを x-forwarded-access-token 経由で転送できます。AppKit に組み込まれた Genie プラグインと Model Serving プラグインは、この処理を自動的に行います。
使いどころ
アプリの本質は、分析だけでなくインタラクティブ性にあります。ダッシュボードは、あらかじめ用意されたフィルターで参照するだけの用途に最適です。一方アプリは、それに加えて入力を受け付け、ロジックを実行し、結果を永続化できます。ワークフローにこうした要素のいずれかが必要な場合は、アプリを構築しましょう。たとえば、ユーザーが作成したケースを保存するシナリオビルダーや、手作業のスプレッドシート業務を置き換える社内ツールなどが挙げられます。
利用に適さないケース
- Databricks のデータにアクセスしない静的サイト。 どこでホストしても構いません。
- 一般公開向け・顧客向けのアプリ。 既定では、ユーザーは Databricks アカウント内の認証済み ID である必要があります(アプリのワークスペースに所属している必要はありません)。外部向けや顧客向けのアクセスについては、App Users を参照してください。
- AI/BI ダッシュボード でまかなえる読み取り専用のダッシュボード。ユーザー入力の永続化や独自ロジックの実行が必要になるまでは、ダッシュボードを使用してください。
次のステップ
テンプレートは、ユースケース別に整理されたエージェント対応のプロンプトです。目的に合うものを探すか、ステップバイステップの手順は Apps クイックスタート を参照してください。