メインコンテンツまでスキップ

Databricks アプリをデプロイする

Databricks アプリを作成して開発したら、それをデプロイして、Databricks ワークスペースでアクセスできるようにします。デプロイメントでは、プロジェクト ファイルで定義された構成を使用してアプリがビルドされ、依存関係がインストールされ、実行されます。Databricks UI または Databricks CLI を使用してアプリをデプロイできます。

注記

テンプレートからアプリを作成した場合、Databricks は最初にアプリを作成したときに自動的にデプロイします。ただし、変更を加えた後でも再デプロイできます。「テンプレートから Databricks アプリを作成する」を参照してください。

デプロイロジック

Databricks Apps は、Python、Node.js、またはその両方の組み合わせを使用するアプリケーションのデプロイをサポートしています。これにより、Pythonバックエンドを備えたNode.jsフロントエンドなどの柔軟なアーキテクチャが可能になります。

デプロイ中、ビルド プロセスはアプリ ディレクトリのルートにある package.json ファイルをチェックして、Node.js が使用されているかどうかを判断します。存在する場合は、Python ステップと並んでノード固有のビルド ステップが含まれます。デプロイ ロジックは、次のパターンに従います。

package.jsonが存在する場合 :

  1. 実行 npm install
  2. pip install -r requirements.txtの実行 (存在する場合)
  3. npm run buildの実行 (buildスクリプトが package.jsonで定義されている場合)
  4. 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存在しない場合 :

  1. pip install -r requirements.txtの実行 (存在する場合)
  2. app.yamlで指定されたコマンドを実行するか、コマンドが指定されていない場合は python <my-app>.py を実行します

展開の準備

アプリをデプロイする前に、プロジェクトに必要なコンポーネントが含まれていることを確認します。

  • メインスクリプト - エントリポイントファイル( app.pyapp.jsなど)
  • オプションの app.yaml ファイル - アプリでカスタム コマンドまたは環境変数が必要な場合は、実行を構成するための app.yaml ファイルを含めます。「app.yamlを使用した Databricks アプリの実行の構成」を参照してください。
  • 依存関係 - すべての依存関係が使用可能であることを確認します。「Databricks アプリの依存関係を管理する」を参照してください。
  • シークレットまたは環境の値 - app.yamlenv セクションを使用する場合は、参照されているシークレットまたは外部ソースが正しく構成され、アクセス可能であることを確認します。「Databricks アプリにリソースを追加する」を参照してください。

さらに、アプリ サービスプリンシパル がソース コード フォルダーにアクセスできることを確認します。

展開ソースを選択する

次のソースから Databricks アプリをデプロイできます。

  • ワークスペース フォルダー - アプリ ファイルをワークスペース フォルダーにアップロードし、そこから展開します。 これは標準的な展開方法です。
  • Git リポジトリ - アプリの Git リポジトリを構成し、ワークスペースにファイルをアップロードせずに直接デプロイします。アプリは、デプロイするたびに、構成された Git 参照 (ブランチ、タグ、またはコミット) からコードを読み取ります。GitHub、GitLab、Bitbucket など、すべての主要な Git プロバイダーがサポートされています。サポートされているプロバイダーの完全なリストについては、 「Git プロバイダーを Databricks に接続する」を参照してください。

同じアプリのワークスペースと Git ソースをいつでも切り替えることができます。

アプリを展開する

次のセクションでは、ワークスペース フォルダーから、または Git リポジトリから直接デプロイする方法について説明します。

ワークスペースフォルダからデプロイする

Databricks UI からアプリをデプロイするには:

  1. アプリ ファイルを Databricks ワークスペースにアップロードします。手順については、「 ファイルのインポート」を参照してください。
  2. サイドバーのコンピュートアイコンコンピュート ]をクリックします。
  3. [アプリ ] タブに移動し、[ 名前 ] 列にあるアプリへのリンクをクリックします。
  4. [ デプロイ ] をクリックし、アプリ ファイルをアップロードしたワークスペース内のフォルダーを選択します。
  5. 「選択」 をクリックし、「 デプロイ」 をクリックします。
  6. 設定を確認し、[ デプロイ] をクリックします。

Gitリポジトリからデプロイする

備考

ベータ版

この機能はベータ版です。管理者が機能を無効にした場合、Git からデプロイされた既存のアプリは引き続き実行されますが、プレビューを再度有効にするか、アプリからリポジトリを削除するまで、アプリを再デプロイまたは再起動することはできません。

Git リポジトリからアプリをデプロイするには、アプリ レベルでリポジトリを追加し、デプロイ時に Git 参照を指定します。Git リポジトリには、 app.yaml 、依存関係、エントリ ポイントなどのアプリ ファイルが含まれている必要があります。GitHub、GitLab、Bitbucket など、すべての主要な Git プロバイダーがサポートされています。

Git からアプリを構成してデプロイするには:

  1. アプリ ファイルを Git リポジトリにアップロードします。
  2. Databricksワークスペースから、コンピュートアイコンサイドバーの コンピュート
  3. [アプリ] タブに移動し、編集する既存のアプリを選択するか、 [アプリの作成] を クリックします。
  4. Gitリポジトリの構成ステップ 」で、 Gitリポジトリ URL (例: https://github.com/org/repo ) を入力し、 Gitプロバイダーを選択します。
  5. 「アプリを作成」 または 「保存」 をクリックして、アプリの詳細ページに戻ります。
  6. プライベート リポジトリの場合、アプリのサービスプリンシパルにGit資格情報が設定されている必要があります。 アプリの詳細ページで、 「Git 資格情報の構成」を クリックします。または、アプリを編集し、 Gitリポジトリステップの構成」 で資格情報を追加します。 Git 資格情報を追加するには、アプリに対するCAN MANAGE権限が必要です。各プロバイダーの手順については、 「Git プロバイダーを Databricks に接続する」を参照してください。
重要

セキュリティのため、 Databricks 、デプロイメント ソースを変更するとき ( Gitからワークスペース、またはワークスペースから Git に)、またはGitリポジトリを変更するときに、アプリのサービスプリンシパルに関連付けられているすべてのGit Git情報を削除します。 Git 参照のみを変更しても資格情報は削除されません。デプロイメント ソースまたはリポジトリを変更した後、Git から再度デプロイするには Git 資格情報を再構成する必要があります。

注記

アプリ作成者は、 Gitデプロイメント ベータ機能が有効になっている場合にのみ、サービスプリンシパルに対するCAN MANAGE権限を自動的に受け取ります。 この機能が無効になっている間にアプリを作成した場合、Git 資格情報を追加する権限がない可能性があります。

サービスシプリンパルは、プロバイダーごとに 1 つのGit認証情報をサポートします。 アカウント コンソールなどを介して資格情報を更新すると、そのプロバイダーの既存の資格情報が置き換えられ、そのプロバイダーでそのサービスプリンシパルを使用するすべてのアプリに影響します。

次に、アプリをデプロイします。

  1. アプリの詳細ページで、 [デプロイ] をクリックします。
  2. Gitから 選択します。
  3. Git 参照 の場合は、ブランチ名、タグ、またはコミット SHA (たとえば、 mainv1.0.0 、またはコミット ハッシュ) を入力します。
  4. 参照タイプ には、ブランチ、タグ、コミットなどの参照のタイプを指定します。
  5. [デプロイ] をクリックします。

ブランチまたはタグ参照の場合、Databricks はそのブランチまたはタグから最新のコミットをデプロイします。コミット SHA 参照の場合、Databricks は常にその特定のコミットをデプロイします。サービスプリンシパルのGit資格情報が無効であるか期限切れの場合、デプロイは失敗します。

展開後の行動

デプロイが完了すると、Databricks はapp.yamlファイルで定義されたcommandに基づいてアプリを起動するか、デフォルトでpython app.pyを実行します。アプリの詳細ページには現在のステータスが表示され、ログ、デプロイ履歴、環境情報にアクセスできます。

アプリのデプロイ後にアプリの詳細ページを表示する

デプロイされたアプリの出力を表示するには、アプリのリンクをクリックします。

ログ 」タブに移動して、デバッグとランタイム・モニタリングを行います。「Databricks Appsのロギングとモニタリング」を参照してください。

アプリを更新または再デプロイする

ソース コードまたは構成に変更を加えた後は、アプリを再デプロイします。再デプロイすると、アプリを再作成せずに最新の更新が適用されます。ワークスペースまたは Git リポジトリからいつでも再デプロイできます。

ワークスペースフォルダから再デプロイする

ワークスペース フォルダーから再デプロイするには:

  1. ワークスペース フォルダー内のアプリ ファイルを更新します。
  2. アプリを選択し、 「デプロイ」 をクリックします。
  3. ソース コード パスが変更された場合、または Git ソースから切り替える場合は、 [デプロイ] の横にある矢印をクリックし、 [別のソースを使用してデプロイ] を 選択します。

Gitリポジトリから再デプロイする

Git リポジトリから再デプロイするには:

  1. 変更を Git リポジトリにプッシュします。
  2. Databricks ワークスペースでアプリを選択し、 [デプロイ] をクリックします。
  3. Git 参照が変更された場合、またはワークスペース ソースから切り替える場合は、 [デプロイ] の横にある矢印をクリックし、 [別のソースを使用してデプロイ] を選択します。

Git リポジトリまたは資格情報を変更するには、アプリの構成を編集します。アプリから Git リポジトリを削除すると、ワークスペースからのデプロイメントが強制されます。

重要

Gitリポジトリを変更するか、デプロイ ソース ( Gitとワークスペース) を切り替えると、アプリのサービスプリンシパルのすべてのGit資格情報が削除されます。 Git から再度デプロイする前に、資格情報を再設定する必要があります。

展開の問題のトラブルシューティング

アプリがデプロイに失敗するか、期待どおりに実行されない場合は、次のトラブルシューティング ステップを試してください。

  • ログでエラー メッセージまたはランタイム出力を確認します。
  • app.yaml構文と設定を検証します。
  • envセクションのシークレットと環境変数が適切に解決されることを確認します。
  • 必要な依存関係がすべて含まれているかインストールされているかを確認します。

Git リポジトリのデプロイメントの場合:

  • プライベート リポジトリの場合、アプリのサービスプリンシパルにGit資格情報が構成されていることを確認します。
  • Git リポジトリの URL が正しいことを確認します。
  • リポジトリに Git 参照 (ブランチ、タグ、またはコミット) が存在することを確認します。

次のステップ