Databricks アプリをデプロイする
Databricks アプリを作成して開発したら、デプロイする準備が整います。デプロイにより、アプリは Databricks ワークスペースでアクセス可能になり、プロジェクト ファイルで定義されている設定を使用して実行されます。
テンプレートからアプリを作成した場合、Databricks は最初にアプリを作成したときに自動的にデプロイします。ただし、変更を加えた後でも再デプロイできます。「テンプレートから Databricks アプリを作成する」を参照してください。
デプロイロジック
Databricks Apps は、Python、Node.js、またはその両方の組み合わせを使用するアプリケーションのデプロイをサポートしています。これにより、Pythonバックエンドを備えたNode.jsフロントエンドなどの柔軟なアーキテクチャが可能になります。
デプロイ中、ビルド プロセスはアプリ ディレクトリのルートにある package.json ファイルをチェックして、Node.js が使用されているかどうかを判断します。存在する場合は、Python ステップと並んでノード固有のビルド ステップが含まれます。デプロイ ロジックは、次のパターンに従います。
package.jsonが存在する場合 :
- 実行 
npm install pip install -r requirements.txtの実行 (存在する場合)npm run buildの実行 (buildスクリプトがpackage.jsonで定義されている場合)app.yamlで指定されたコマンドを実行するか、コマンドが指定されていない場合はnpm run startを実行します
app.yamlでコマンドが指定されていない場合、Databricks は、アプリに Python コードが含まれていても npm run startを実行します。Python プロセスと Node.js プロセスの両方を実行するには、concurrently などのツールを使用して両方を起動するカスタム start スクリプトを定義します。たとえば、 concurrently "npm run start:node" "python my_app.py"のようになります。
package.json存在しない場合 :
pip install -r requirements.txtの実行 (存在する場合)app.yamlで指定されたコマンドを実行するか、コマンドが指定されていない場合はpython <my-app>.pyを実行します
デプロイの準備
アプリをデプロイする前に、プロジェクトに必要なコンポーネントが含まれていることを確認します。
- メインスクリプト - エントリポイントファイル( 
app.pyやapp.jsなど) - オプションの 
app.yamlファイル - アプリでカスタム コマンドまたは環境変数が必要な場合は、実行を構成するためのapp.yamlファイルを含めます。「app.yamlを使用した Databricks アプリの実行の構成」を参照してください。 - 依存関係 - すべての依存関係が使用可能であることを確認します。「Databricks アプリの依存関係を管理する」を参照してください。
 - シークレットまたは環境の値 - 
app.yamlのenvセクションを使用する場合は、参照されているシークレットまたは外部ソースが正しく構成され、アクセス可能であることを確認します。「Databricks アプリにリソースを追加する」を参照してください。 
さらに、アプリ サービスプリンシパル がソース コード フォルダーにアクセスできることを確認します。
アプリをデプロイする
- Databricks UI
 - Databricks CLI
 
Databricks UI からアプリをデプロイするには:
- アプリ ファイルを Databricks ワークスペースにアップロードします。手順については、「 ファイルのインポート」を参照してください。
 - サイドバーの
[ コンピュート ]をクリックします。
 - [アプリ ] タブに移動し、[ 名前 ] 列にあるアプリへのリンクをクリックします。
 - [ デプロイ ] をクリックし、アプリ ファイルをアップロードしたワークスペース内のフォルダーを選択します。
 - 「選択」 をクリックし、「 デプロイ」 をクリックします。
 - 設定を確認し、[ デプロイ] をクリックします。
 
CLI を使用してアプリをデプロイするには:
- 
ターミナルを開き、アプリ ファイルが含まれているディレクトリに移動し、
syncコマンドを実行して Databricks にアップロードします。パスは、ファイルをアップロードするワークスペースの場所に置き換えます。Bashdatabricks sync --watch . /Workspace/Users/my-email@org.com/my-app特定のファイルまたはディレクトリを除外するには、ローカル アプリ ディレクトリの
.gitignoreファイルに追加します。 - 
ワークスペース内のファイルを表示するには、サイドバーの [ ワークスペース] をクリックし、アプリ用に作成されたディレクトリに移動します。
 - 
アプリをデプロイするには、ターミナルで次のコマンドを実行します。ソース コード パスを、アプリ ファイルのワークスペースの場所に置き換えます。
Bashdatabricks apps deploy my-app-name \
--source-code-path /Workspace/Users/my-email@org.com/my-app 
デプロイが完了すると、Databricks は app.yaml ファイルで定義されたcommandに基づいてアプリを起動するか、デフォルトで python app.pyを実行します。
デプロイ後の動作
デプロイ後、アプリは管理された環境で実行されます。デプロイの状態を表示するには、アプリの概要ページに移動します。

デプロイされたアプリの出力を表示するには、アプリのリンクをクリックします。
「 ログ 」タブに移動して、デバッグとランタイム・モニタリングを行います。「Databricks Appsのロギングとモニタリング」を参照してください。
アプリを更新または再デプロイする
ソース コードに変更を加えた場合、 app.yaml ファイルを更新した場合、または別のソース コード パスからデプロイする必要がある場合は、アプリを更新または再デプロイできます。再デプロイでは、アプリを最初から再作成しなくても、最新の更新プログラムが適用されます。
デプロイされたアプリに変更を加えるには:
- アプリのコードまたは 
app.yaml設定を更新します。 - Databricks ワークスペースの [アプリ ] ページに戻ります。
 - アプリを選択し、もう一度 [デプロイ ] を選択します。ソース コード パスが変更された場合は、[ デプロイ ] の横にある矢印をクリックし、[ 別のソース コード パスを使用してデプロイ ] を選択します
 
デプロイの問題のトラブルシューティング
アプリのデプロイに失敗した場合、または期待どおりに実行されない場合は、次のトラブルシューティング手順を試してください。
- ログの確認 - ログ パネルでエラー メッセージまたはランタイム出力を表示します。
 app.yamlの検証 - 構文が正しく、サポートされている設定が使用されていることを確認します。- シークレットと環境変数を確認する - 
envセクション内のすべての参照が正しく解決されることを確認します。 - 依存関係の確認 - 必要なすべてのパッケージが含まれているか、インストールされていることを確認します。