メインコンテンツに移動

概要

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 を公開します。
プラグイン追加される機能
serverExpress HTTP サーバー、静的ファイル配信、Vite 開発モード(常に含まれます)
lakebaseLakebase Postgres 向けの Postgres 接続プール。OAuth トークンの自動更新に対応
analyticsDatabricks SQL Warehouses に対する SQL クエリの実行。分析的な読み取りを参照してください。
genie自然言語によるデータクエリを可能にする Genie Agent 連携
servingModel Serving endpoint への認証済みプロキシ。ストリーミングに対応
filesUnity Catalog Volumes に対するファイル操作
agentsMarkdown またはコードで定義する AI エージェント。ツールの自動検出に対応
ai-searchAI Search インデックスに対するセマンティック検索およびベクトル検索
jobsDatabricks Lakeflow Jobs のトリガーと監視
cachingグローバルおよびプラグイン単位のレスポンスキャッシュ。利用可能な場合は Lakebase Postgres をバックエンドとして使用

最新のプラグイン一覧については、プラグインリファレンスを参照してください。

認証の仕組み

各アプリには専用のサービスプリンシパルが割り当てられます。Databricks が実行時にその資格情報を注入するため、アプリはトークンを管理することなくワークスペースの API を呼び出せます。

デフォルトでは、すべてのリクエストがこのサービスプリンシパルとして実行され、すべてのユーザーがその権限を共有します。ユーザーごとにデータアクセスを制御したい場合は、Databricks がサインイン中のユーザーのトークンを x-forwarded-access-token 経由で転送できます。AppKit に組み込まれた Genie プラグインと Model Serving プラグインは、この処理を自動的に行います。

使いどころ

アプリの本質は、分析だけでなくインタラクティブ性にあります。ダッシュボードは、あらかじめ用意されたフィルターで参照するだけの用途に最適です。一方アプリは、それに加えて入力を受け付け、ロジックを実行し、結果を永続化できます。ワークフローにこうした要素のいずれかが必要な場合は、アプリを構築しましょう。たとえば、ユーザーが作成したケースを保存するシナリオビルダーや、手作業のスプレッドシート業務を置き換える社内ツールなどが挙げられます。

利用に適さないケース

  • Databricks のデータにアクセスしない静的サイト。 どこでホストしても構いません。
  • 一般公開向け・顧客向けのアプリ。 既定では、ユーザーは Databricks アカウント内の認証済み ID である必要があります(アプリのワークスペースに所属している必要はありません)。外部向けや顧客向けのアクセスについては、App Users を参照してください。
  • AI/BI ダッシュボード でまかなえる読み取り専用のダッシュボード。ユーザー入力の永続化や独自ロジックの実行が必要になるまでは、ダッシュボードを使用してください。

次のステップ

テンプレートは、ユースケース別に整理されたエージェント対応のプロンプトです。目的に合うものを探すか、ステップバイステップの手順は Apps クイックスタート を参照してください。

Databricks Developer Hub

次のエージェント型アプリを数分でリリースする準備はできていますか?

ドキュメントを読む