共用方式為


Databricks 資產組合部署模式

本文說明 Databricks 資產組合部署模式的語法。 套件組合可讓您以程序設計方式管理 Azure Databricks 工作流程。 請參閱 什麼是 Databricks 資產套件組合?

在 CI/CD 工作流程中,開發人員通常會以各種階段或 模式撰寫程式代碼、測試、部署及執行解決方案。 例如,最簡單的模式集包含 生產前驗證的開發 模式,後面接著 已驗證交付專案的生產 模式。 Databricks 資產套件組合會提供預設行為的選擇性集合,這些行為會對應至每個模式。 您的套件組合部署可以搭配單行模式宣告使用這些行為,而不是在套件組合組態檔中手動指定這些預設行為,而可能忘記一路上新增或設定其中一個預定的行為。

開發模式

若要在開發模式中部署套件組合,您必須先將 mode 對應設定為 ,設定 development為 預定的目標。 例如,這個名為 dev 的目標會被視為開發目標:

targets:
  dev:
    mode: development

執行 命令以 databricks bundle deploy -t <target-name> 部署開發目標會實作下列行為:

  • 在未部署為檔案或筆記本的所有資源前面加上前置詞 [dev ${workspace.current_user.userName}] 和標記,每個已部署的作業和管線都有 dev Azure Databricks 標籤。
  • 將所有相關已部署的 Delta Live Tables 管線標示為 development: true。 請參閱 使用開發模式執行管線更新
  • --compute-id <cluster-id>可讓您在命令的相關呼叫bundle deploy中使用 ,這會覆寫相關套件組合組態檔中已指定的任何和所有現有叢集定義。 您可以在這裡將對應設定為對應,而不是在 --compute-id <cluster-id> 命令的相關呼叫 bundle deploy 中使用,或將對應設定 compute_id 為對應子系對應 bundle 至要使用的叢集標識符。
  • 暫停已部署資源的所有排程和觸發程式,例如作業或品質監視器。 將 設定 schedule.pause_statusUNPAUSED,取消個別作業的排程和觸發程式。
  • 在所有已部署的作業上啟用並行執行,以加快反覆專案的速度。 將 設定 max_concurrent_runs1,以停用個別作業的並行執行。
  • 停用部署鎖定以加快反覆運算速度。 此鎖定可防止部署衝突不太可能在開發模式中發生。 將設定 bundle.deployment.lock.enabledtrue以重新啟用鎖定。

生產模式

若要在生產模式中部署套件組合,您必須先將 mode 對應設定為 production,設定為 預定的目標。 例如,這個名為 prod 的目標會被視為生產目標:

targets:
  prod:
    mode: production

執行 databricks bundle deploy -t <target-name> 命令以部署生產目標會實作下列行為:

  • 驗證所有相關已部署的 Delta Live Tables 管線是否標示為 development: false

  • 驗證目前的 Git 分支是否等於目標中指定的 Git 分支。 在目標中指定 Git 分支是選擇性的,而且可以使用其他 git 屬性來完成,如下所示:

    git:
      branch: main
    

    藉由在部署時指定 --force ,即可覆寫此驗證。

  • Databricks 建議您使用服務主體進行生產部署。 您可以將 設定 run_as 為服務主體,以強制執行此動作。 請參閱 管理服務主體指定 Databricks 資產套件組合工作流程的執行身分識別。 如果您不使用服務主體,請記下下列其他行為:

    • 驗證 artifact_pathfile_pathroot_pathstate_path 對應未覆寫給特定使用者。
    • 驗證 已 run_as 指定 和 permissions 對應,以釐清哪些身分識別具有部署的特定許可權。
  • 不同於上述將對應設定為 development的行為,將對應production設定modemode為 不允許覆寫相關套件組合組態檔中指定的任何現有叢集定義,例如,使用 --compute-id <cluster-id> 選項或compute_id對應。