在建立並開發 Azure Databricks 應用程式後,部署後,讓它能在 Azure Databricks 工作空間中存取。 部署會建置你的應用程式,安裝相依性,並依照專案文件中定義的設定執行。 你可以使用 Azure Databricks UI 或 Azure Databricks CLI 來部署應用程式。
備註
如果您從範本建立應用程式,Azure Databricks 會在您第一次建立應用程式時自動部署它。 不過,在進行變更之後,您仍然可以稍後重新部署它。 請參閱 從範本建立 Databricks 應用程式。
部署邏輯
Databricks Apps 支援部署使用 Python、Node.js或兩者組合的應用程式。 這允許彈性架構,例如具有 Node.js 前端和 Python 後端。
在部署期間,建置過程會檢查位於應用程式目錄根目錄的 package.json 檔案,以確定是否使用 Node.js。 如果有的話,它包括 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指定任何命令,則即使應用程式包含 Python 程式代碼,Azure Databricks 仍會 npm run start執行 。 若要同時執行 Python 和 Node.js 程式,請定義自定義start腳本,該腳本使用像concurrently這類工具來啟動兩者。 例如: 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 應用程式的相依性。
-
秘密或環境值 - 如果您使用
env中的app.yaml區段,請確認參考的秘密或外部來源已正確設定及存取。 請參閱 將資源新增至 Databricks 應用程式。
此外,請確定 App Service 主體 可以存取原始碼資料夾。
部署應用程式
Databricks 使用者介面
若要從 Azure Databricks UI 部署應用程式:
- 將應用程式檔案上傳至您的 Azure Databricks 工作區。 如需指示,請參閱 匯入檔案。
- 在側邊欄中按下
[計算]。 - 移至 [ 應用程式] 索引標籤,然後按下 [ 名稱 ] 資料行中應用程式的連結。
- 按兩下 [部署 ],然後選取您上傳應用程式檔案之工作區中的資料夾。
- 按一下 選取,然後 部署。
- 檢閱設定,然後按兩下 [ 部署]。
Databricks 命令行介面
若要使用 CLI 部署應用程式:
打開終端機,然後導航到包含你應用程式檔案的目錄。
請使用指令
sync將你的應用程式檔案上傳到 Azure Databricks 工作區。 將路徑更改為您要上傳檔案的工作區位置。databricks sync --watch . /Workspace/Users/my-email@org.com/my-app這個
--watch旗標會讓同步過程持續運作,並在你修改本地檔案時自動上傳變更。 要排除特定檔案或目錄同步,請將它們加入本地應用程式目錄中的檔案.gitignore。 常見的排除檔案包括node_modules/、.env、__pycache__/、.DS_Store,以及任何大型資料檔案或建置工件。請透過查看工作區中的檔案來驗證上傳。 在側邊欄點選
」,然後導覽到你為應用程式建立的目錄。請執行以下指令部署應用程式。 用你的數值替換應用程式名稱和原始碼路徑。
databricks apps deploy my-app-name \ --source-code-path /Workspace/Users/my-email@org.com/my-appCLI 會顯示部署進度並確認應用程式何時執行。
部署之後,Azure Databricks 會根據檔案中定義的 command 來啟動您的應用程式,或預設為執行 app.yaml。python app.py
部署後行為
部署完成後,Azure Databricks 會在託管環境中啟動你的應用程式。 應用程式詳情頁面顯示目前狀態,並提供日誌、部署歷史及環境資訊的存取權限。
若要檢視已部署應用程式的輸出,請按下應用程式連結。
移至 [ 記錄] 索引標籤以進行偵錯和運行時間監視。 請參閱 Databricks 應用程式的記錄和監視。
更新或重新部署應用程式
如果您對原始碼進行變更、更新 app.yaml 檔案,或需要從不同的原始程式碼路徑部署,您可能會想要更新或重新部署您的應用程式。 重新部署會套用最新的更新,而不需要從頭重新建立應用程式。
若要變更已部署的應用程式:
- 更新應用程式程式代碼或
app.yaml設定。 - 返回 Azure Databricks 工作區中的 [ 應用程式 ] 頁面。
- 選取您的應用程式,然後選擇 [ 再次部署 ]。 如果原始碼路徑有變動,請點擊部署旁邊的箭頭,選擇使用不同的原始碼路徑部署。
排除部署問題
如果您的應用程式無法部署或無法如預期運行,請嘗試以下故障排除步驟:
- 檢查記錄 - 在記錄面板中檢視錯誤訊息或運行時間輸出。
-
驗證
app.yaml- 請確定語法正確且已使用支援設定。 -
確認秘密和環境變數 - 請確定區段中的所有參考
env都已正確解析。 - 確認相依性 - 確定已包含或安裝所有必要的套件。