apps 命令群組

Note

Databricks CLI 的使用受限於 Databricks 授權Databricks 隱私權聲明,包括任何使用數據條款。

apps Databricks CLI 中的指令群組允許你管理應用程式。 應用程式會直接在客戶的 Databricks 實例上執行、與其數據整合、使用及擴充 Databricks 服務,以及讓使用者透過單一登錄進行互動。 請參閱 Databricks Apps

databricks 應用程式建立

建立新的應用程式。

databricks apps create NAME [flags]

Arguments

NAME

    應用程式的名稱。 名稱必須只包含小寫英數位元和連字元。 它必須在工作區中是唯一的。

選項

--budget-policy-id string

    應用程式的預算原則標識碼。

--compute-size ComputeSize

    應用程式的計算大小。 支援的值:LARGEMEDIUM

--description string

    應用程式的描述。

--json JSON

    內嵌的 JSON 字串或 @path 整合至包含要求內容的 JSON 檔案。

--no-compute

    如果為 true,應用程式將不會在建立後啟動。

--no-wait

    請勿等候進入ACTIVE 狀態。

--space string

    這個應用程式所屬的空間名稱。

--timeout duration

    達到 ACTIVE 狀態的時間上限(預設為 20m0s)。

--usage-policy-id string

    應用程式的使用政策 ID。

全域旗標

Examples

下列範例會建立基本應用程式:

databricks apps create my-analytics-app --description "Analytics dashboard app"

下列範例會建立應用程式而不啟動它:

databricks apps create my-data-app --description "Data processing app" --no-compute

下列範例會建立具有自訂逾時的應用程式:

databricks apps create my-ml-app --description "Machine learning app" --timeout 30m

Databricks 應用程式 建立-更新

建立應用程式更新並開始更新流程。 更新過程是非同步的,更新狀態可以透過 GetAppUpdate 方法檢查。

databricks apps create-update APP_NAME UPDATE_MASK [flags]

Arguments

APP_NAME

    應用程式的名稱。

UPDATE_MASK

    欄位遮罩必須是單一字串,並以逗號分隔多個字段(無空格)。 欄位路徑相對於資源物件,使用點(.)來導航子欄位(例如 author.given_name)。 禁止指定序列或映射欄位中的元素,因為只能指定整個集合欄位。 功能變數名稱必須完全符合資源功能變數名稱。

    場遮罩為 * 表示完全替換。 建議總是明確列出要更新的欄位,避免使用 * 萬用字元,因為未來 API 變動可能會造成意外結果。

選項

--json JSON

    內嵌的 JSON 字串或 @path 整合至包含要求內容的 JSON 檔案。

--no-wait

    請勿等候達到 SUCCEEDED 狀態。

--timeout duration

    達到 SUCCEEDED 狀態的時間上限(預設為 20m0s)。

全域旗標

Examples

以下範例建立一個帶有特定欄位遮罩的應用程式更新:

databricks apps create-update my-analytics-app "description" --json '{"description": "Updated app description"}'

以下範例在不等待完成的情況下建立應用程式更新:

databricks apps create-update my-data-app "budget_policy_id" --json '{"budget_policy_id": "new-policy-123"}' --no-wait

以下範例建立一個自訂逾時的應用程式更新:

databricks apps create-update my-ml-app "description,budget_policy_id" --json '{"description": "Updated ML app", "budget_policy_id": "ml-policy-456"}' --timeout 30m

databricks 應用程式刪除

刪除應用程式。

當從 Databricks Apps 專案目錄(包含 databricks.yml)且未標 NAME 註參數執行時,此指令會銷毀該專案部署的所有資源。 當 NAME 參數被提供或不在專案目錄中時,會直接使用 API 刪除指定的應用程式。

databricks apps delete [NAME] [flags]

Arguments

NAME

    應用程式的名稱。 當不在專案目錄中時,必須使用。 當提供於專案目錄時,使用 API 刪除而非專案銷毀。

選項

--auto-approve

    刪除資源和檔案時,請跳過互動式核准。

--force-lock

    強制取得部署鎖定。

全域旗標

Examples

下列範例會刪除應用程式:

databricks apps delete my-analytics-app

以下範例將銷毀專案目錄中的所有專案資源:

databricks apps delete

以下範例會用自動核准銷毀專案資源:

databricks apps delete --auto-approve

databricks 應用程式部署

建立應用程式部署。

當從 Databricks Apps 專案目錄(包含 databricks.yml)且未設定 APP_NAME 參數執行時,此指令會執行強化部署流程,驗證專案、部署至工作空間並執行應用程式。 當 APP_NAME 參數被提供或不在專案目錄中時,直接使用 API 建立應用程式部署。

databricks apps deploy [APP_NAME] [flags]

Arguments

APP_NAME

    應用程式的名稱。 當不在專案目錄中時,必須使用。 當在專案目錄中提供時,則使用 API 部署而非專案部署。

選項

--deployment-id string

    部署的唯一識別碼。

--force

    強制覆寫 Git 分支驗證。

--json JSON

    內嵌的 JSON 字串或 @path 整合至包含要求內容的 JSON 檔案。

--mode AppDeploymentMode

    部署將管理原始程式碼的方式。 支援的值:AUTO_SYNCSNAPSHOT

--no-wait

    請勿等候達到 SUCCEEDED 狀態。

--skip-tests

    驗證時跳過執行測試(預設為 true)。

--skip-validation

    跳過專案驗證(建置、類型檢查、lint)。

--source-code-path string

    用來建立應用程式部署之原始程式碼的工作區檔案系統路徑。

--timeout duration

    達到 SUCCEEDED 狀態的時間上限(預設為 20m0s)。

全域旗標

Examples

下列範例會建立具有自動同步模式的部署:

databricks apps deploy my-analytics-app --source-code-path /Workspace/Users/someone@example.com/my-app --mode AUTO_SYNC

下列範例會建立具有快照模式的部署:

databricks apps deploy my-data-app --source-code-path /Workspace/Users/someone@example.com/data-app --mode SNAPSHOT

下列範例會建立具有自定義部署標識碼的部署:

databricks apps deploy my-ml-app --deployment-id "v1.2.3" --source-code-path /Workspace/Users/someone@example.com/ml-app

databricks 應用程式取得

取得具備所提供名稱之應用程式的資訊。

databricks apps get NAME [flags]

Arguments

NAME

    應用程式的名稱。

選項

全域旗標

Examples

下列範例會取得應用程式資訊:

databricks apps get my-analytics-app

下列範例會以 JSON 格式取得應用程式資訊:

databricks apps get my-data-app --output json

下列範例會使用特定設定檔取得應用程式資訊:

databricks apps get my-ml-app --profile production

databricks 應用程式 取得部署

取得應用程式部署的資訊,其中包含提供的名稱和部署標識碼。

databricks apps get-deployment APP_NAME DEPLOYMENT_ID [flags]

Arguments

APP_NAME

    應用程式的名稱。

DEPLOYMENT_ID

    部署的唯一識別碼。

選項

全域旗標

Examples

以下範例會取得部署資訊:

databricks apps get-deployment my-analytics-app v1.0.0

下列範例會以 JSON 格式取得部署資訊:

databricks apps get-deployment my-data-app v2.1.0 --output json

下列範例會使用特定設定檔取得部署資訊:

databricks apps get-deployment my-ml-app latest --profile production

Databricks 應用程式 Get-Update

查詢應用程式更新狀態。

databricks apps get-update APP_NAME [flags]

Arguments

APP_NAME

    應用程式的名稱。

選項

全域旗標

Examples

以下範例顯示應用程式更新的狀態:

databricks apps get-update my-analytics-app

以下範例以 JSON 格式取得更新狀態:

databricks apps get-update my-data-app --output json

以下範例使用特定設定檔獲得更新狀態:

databricks apps get-update my-ml-app --profile production

Databricks 應用程式匯入

(實驗階段)將現有的 Databricks 應用程式匯入為套件。

匯入一個現有的 Databricks 應用程式,並轉換成套件組態。 此指令會建立一個包含應用程式設定的新套件目錄,下載應用程式原始碼,將套件綁定至現有應用程式,並以直接部署模式部署。

databricks apps import [flags]

Arguments

None

選項

--cleanup

    清理之前的應用程式資料夾及其所有內容。

--force-import

    強制重新匯入已匯入的應用程式(只適用於你擁有的應用程式)。

--name string

    要匯入的應用程式名稱。 若未指定,則列出所有可互動選擇的應用程式。

--output-dir string

    用來輸出套件的目錄。 預設是應用程式名稱。

-q, --quiet

    抑制資訊訊息(只顯示錯誤和提示)。

全域旗標

Examples

以下範例匯入一個應用程式,建立一個以該應用程式命名的目錄:

databricks apps import --name my-streamlit-app

以下範例匯入一個帶有自訂輸出目錄的應用程式:

databricks apps import --name my-app --output-dir ~/my-apps/analytics

以下範例匯入應用程式並清理舊的應用程式資料夾:

databricks apps import --name my-app --cleanup

databricks 應用程式清單

列出工作區中的所有應用程式。

databricks apps list [flags]

Arguments

None

選項

--page-size int

    傳回項目的上限。

--page-token string

    分頁令牌可移至應用程式的下一頁。

--space string

    用應用程式空間名稱篩選應用程式。

全域旗標

Examples

下列範例會列出所有應用程式:

databricks apps list

下列範例會列出具有特定頁面大小的應用程式:

databricks apps list --page-size 10

下列範例會列出具有分頁的應用程式:

databricks apps list --page-token "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

databricks 應用程式 list-deployments

列出具有所提供名稱之應用程式的所有應用程式部署。

databricks apps list-deployments APP_NAME [flags]

Arguments

APP_NAME

    應用程式的名稱。

選項

--page-size int

    傳回項目的上限。

--page-token string

    分頁令牌可移至應用程式的下一頁。

全域旗標

Examples

下列範例會列出應用程式的所有部署:

databricks apps list-deployments my-analytics-app

下列範例會列出具有特定頁面大小的部署:

databricks apps list-deployments my-data-app --page-size 10

Databricks 應用程式日誌

使用其日誌串流來串流 Databricks 應用程式的 stdout/stderr 日誌。 預設情況下,此指令會取得最新的日誌到--tail-lines,然後退出。 伺服器端過濾可使用 --search,而客戶端過濾可使用 --source APP|SYSTEM

databricks apps logs [NAME] [flags]

Arguments

NAME

    應用程式的名稱。

選項

-f, --follow

    持續串流日誌,直到取消或達到指定的逾時為止。

--tail-lines int

    在串流前需要展示的近期日誌行數。 設定為 0 顯示所有內容。 預設:200

--timeout duration

    設定 --follow 時的最大串流時間。 設定為 0 以停用超時。

--search string

    在串流前,先把搜尋詞傳給日誌服務。

--source strings

    限制日誌來源只能是APPSYSTEM

--output-file string

    除了 stdout 之外,還有可選的檔案路徑用來寫入日誌。

全域旗標

Examples

以下範例為擷取應用程式最新的日誌:

databricks apps logs my-analytics-app

以下範例會持續輸出日誌直到中斷:

databricks apps logs my-analytics-app --follow

以下範例取出最後 500 行的日誌:

databricks apps logs my-data-app --tail-lines 500

以下範例會串流日誌,且超時時間設定為 10 分鐘:

databricks apps logs my-ml-app --follow --timeout 10m

範例如下:根據搜索詞篩選日誌:

databricks apps logs my-analytics-app --search "error"

以下範例限制日誌僅用於應用程式層級輸出:

databricks apps logs my-data-app --source APP

以下範例同時將日誌寫入 stdout 與檔案:

databricks apps logs my-ml-app --output-file /tmp/app-logs.txt

databricks 應用程式在本地運行

在本機啟動應用程式。

databricks apps run-local [flags]

Arguments

None

選項

--app-port int

    要執行應用程式的埠 (預設為 8000)。

--debug

    啟用偵錯模式。

--debug-port string

    執行調試器的埠。

--entry-point string

    指定具有應用程式組態 (.yml 檔案) 的自訂進入點。 預設為 app.yml

--env strings

    設定環境變數。

--port int

    執行應用程式 Proxy 的埠 (預設值 8001)。

--prepare-environment

    準備環境以執行應用程式。 需要安裝 uv。

全域旗標

Examples

下列範例會以預設設定在本機執行應用程式:

databricks apps run-local

下列範例會在本機特定埠上執行應用程式:

databricks apps run-local --app-port 9000 --port 9001

databricks 應用程式啟動

在工作區中啟動應用程式的最後一個活躍部署。

databricks apps start [NAME] [flags]

Arguments

NAME

    應用程式的名稱。

選項

--no-wait

    請勿等候進入ACTIVE 狀態。

--timeout duration

    達到 ACTIVE 狀態的時間上限(預設為 20m0s)。

全域旗標

Examples

下列範例會啟動應用程式:

databricks apps start my-analytics-app

下列範例會在不等候的情況下啟動應用程式:

databricks apps start my-data-app --no-wait

下列範例會啟動具有自訂逾時的應用程式:

databricks apps start my-ml-app --timeout 30m

databricks 應用程式停止

停止工作區域中應用程式的現行部署。

databricks apps stop [NAME] [flags]

Arguments

NAME

    應用程式的名稱。

選項

--no-wait

    請勿等候到達STOPPED狀態。

--timeout duration

    達到STOPPED狀態的時間上限(預設為20m0s)。

全域旗標

Examples

下列範例會停止應用程式:

databricks apps stop my-analytics-app

下列範例會在不等候的情況下停止應用程式:

databricks apps stop my-data-app --no-wait

下列範例會停止具有自訂逾時的應用程式:

databricks apps stop my-ml-app --timeout 30m

databricks 應用程式更新

使用提供的名稱更新應用程式。

databricks apps update NAME [flags]

Arguments

NAME

    應用程式的名稱。 名稱必須只包含小寫英數位元和連字元。 它必須在工作區中是唯一的。

選項

--budget-policy-id string

    應用程式的預算原則標識碼。

--compute-size ComputeSize

    應用程式的計算大小。 支援的值:LARGEMEDIUM

--description string

    應用程式的描述。

--json JSON

    內嵌的 JSON 字串或 @path 整合至包含要求內容的 JSON 檔案。

--space string

    這個應用程式所屬的空間名稱。

--usage-policy-id string

    應用程式的使用政策 ID。

全域旗標

Examples

下列範例會更新應用程式的描述:

databricks apps update my-analytics-app --description "Updated analytics dashboard"

databricks 應用程式 get-permission-levels

取得應用程式許可權等級。

databricks apps get-permission-levels APP_NAME [flags]

Arguments

APP_NAME

    要取得或管理許可權的應用程式。

選項

全域旗標

Examples

下列範例會取得應用程式的權限等級:

databricks apps get-permission-levels my-analytics-app

databricks 應用程式 取得權限

取得應用程式的許可權。 應用程式可以從其根對象繼承許可權。

databricks apps get-permissions APP_NAME [flags]

Arguments

APP_NAME

    要取得或管理許可權的應用程式。

選項

全域旗標

Examples

下列範例會取得應用程式的許可權:

databricks apps get-permissions my-analytics-app

下列範例會使用特定設定檔來取得存取權限:

databricks apps get-permissions my-ml-app --profile production

databricks 應用程式 設置權限

設定應用程式許可權。

設定物件的許可權,若已有許可權則予以取代。 如果未指定任何許可權,則刪除所有直接許可權。 物件可以從其根對象繼承許可權。

databricks apps set-permissions APP_NAME [flags]

Arguments

APP_NAME

    要取得或管理許可權的應用程式。

選項

--json JSON

    內嵌的 JSON 字串或 @path 整合至包含要求內容的 JSON 檔案。

全域旗標

Examples

下列範例會使用 JSON 組態來設定許可權:

databricks apps set-permissions my-analytics-app --json '{"access_control_list": [{"user_name": "someone@example.com", "permission_level": "CAN_USE"}]}'

databricks 應用程式更新許可權

更新應用程式的許可權。 應用程式可以從其根對象繼承許可權。

databricks apps update-permissions APP_NAME [flags]

Arguments

APP_NAME

    要取得或管理許可權的應用程式。

選項

--json JSON

    內嵌的 JSON 字串或 @path 整合至包含要求內容的 JSON 檔案。

全域旗標

Examples

下列範例會使用 JSON 組態來更新權限:

databricks apps update-permissions my-analytics-app --json '{"access_control_list": [{"user_name": "someone@example.com", "permission_level": "CAN_MANAGE"}]}'

全域旗標

--debug

  是否要啟用偵錯記錄。

-h--help

    顯示 Databricks CLI、相關命令群組或相關命令的幫助說明。

--log-file 字串

    字串,表示要寫入輸出記錄檔的檔案。 若未指定此旗標,則預設值是將輸出記錄寫入 stderr。

--log-format 格式

    記錄格式類型,textjson。 預設值是 text

--log-level 字串

    表示日誌格式層級的字串。 若未指定,則日誌的格式層級功能將被停用。

-o, --output 類型

    指令輸出類型,textjson。 預設值是 text

-p, --profile 字串

    用於執行命令的~/.databrickscfg檔案中的配置檔名稱。 如果未指定此旗標,則如果存在,則會使用名為 DEFAULT 的配置檔。

--progress-format 格式

    顯示進度記錄的格式:default、、appendinplace、 或json

-t, --target 字串

    如果適用,要使用的套件組合目標