Remote Bridge
Remote Bridge
Prerequisites
- Node.js v22+ environment with
npm - Databricks CLI (v1.0.0 or higher): install and configure it according to the official tutorial.
- A new Databricks app with AppKit installed. See Bootstrap a new Databricks app for more details.
remote bridge を使うと、UI と queries はローカルのまま、デプロイ済みバックエンドに対して開発を進められます。本番データを使ったテストや、アプリを再 deploy せずに deploy 済みのバックエンドコードをデバッグしたい場合に便利です。
Remote Bridge を使うタイミング
次のような場合に remote bridge を使用します。
- 本番データに対してテストを行う
- デプロイ済みのバックエンドコードをデバッグする
- バックエンドをローカルで実行せずに UI を開発する
- 同じバックエンドを共有してチームメンバーと共同作業する
Remote Bridge の起動と停止
remote bridge を起動するには、次のコマンドを実行します。
databricks apps dev-remoteこのコマンドは次の処理を行います。
- コンテキスト (
app.ymlファイルまたは CLI でのユーザー入力) からアプリ名を取得します - ローカルの Vite 開発サーバーを起動します
- デプロイ済みのアプリへの WebSocket ブリッジを確立します
- 次の 2 つの URL を発行します。
- App URL: 自分用の直接リンク (
<app-url>?dev=true) - Shareable URL: チームメンバーと共有するためのトンネル ID 付きリンク (
<app-url>?dev=<tunnelId>)
- App URL: 自分用の直接リンク (
利用可能なすべてのオプションを確認するには、次を実行します。
databricks apps dev-remote --helpremote bridge を停止するには、ターミナルで Ctrl+C を押します。
接続の承認
remote bridge を起動している間、新しいデバイスのブラウザで URL を開くたびに、接続の承認を求められます。
チームメンバーに URL を共有すれば、各自のブラウザでアプリを表示できます。その場合も、接続の承認はあなたが行う必要があります。
仕組み
remote bridge は、ローカルの Vite 開発サーバーとデプロイ済みバックエンドの間に WebSocket ブリッジを確立します。これにより、デプロイ済みバックエンドを利用しながら、UI をローカルで開発できます。
詳細
- ブラウザは、
?dev=trueまたは?dev=<tunnelId>のクエリパラメータを付けて、デプロイ済みアプリのバックエンドに接続します - デプロイ済みバックエンドは、UI からのリクエストを WebSocket トンネル (
/dev-tunnel) 経由でローカルマシンにプロキシします - WebSocket ブリッジ (ローカルで実行) は、バックエンドから fetch リクエストとファイル読み取りリクエストを受け取ります
- ローカル Vite 開発サーバーは、UI ファイルを配信し、ホットモジュールリプレースメント (HMR) を提供します
- ブリッジは WebSocket 経由でレスポンスをバックエンドに返し、バックエンドがそれをブラウザに配信します
ホットリロードの対象
remote bridge を使うと、次の変更が即座にホットリロードされます。
- UI の変更 -
client/ディレクトリ内の React/TypeScript/CSS ファイルへの変更 - クエリファイル -
config/queries/ディレクトリ内の SQL ファイル (.sqlファイルのみ)
バックエンドのコードはホットリロード されません。バックエンドコードの変更を反映するには、アプリを再度 deploy する必要があります。