Bildirim temelli Otomasyon Paketleri dağıtım modları

Bu sayfada Bildirim temelli Otomasyon Paketleri dağıtım modlarının söz dizimi açıklanmaktadır. Paketler, Azure Databricks iş akışlarının programlı yönetimini sağlar. Bkz. Bildirim temelli Otomasyon Paketleri nedir?

CI/CD iş akışlarında geliştiriciler genellikle çözümleri çeşitli aşamalarda veya modlarda kodlar, test eder, dağıtır ve çalıştırır. Örneğin, en basit mod kümesinde üretim öncesi doğrulama için geliştirme modu ve ardından doğrulanmış teslim edilebilirler için bir üretim modu bulunur. Bildirim temelli Otomasyon Paketleri, bu modların her birine karşılık gelen isteğe bağlı bir varsayılan davranış koleksiyonu sağlar.

Dağıtım modları isteğe bağlıdır. Bir mode ayarlamadan veya presets yapılandırmadan paket dağıtabilirsiniz. Dağıtım modları, yaygın olarak kullanılan bir grup ayarı aynı anda uygulamak için kolaylık sağlar.

Geliştirme modu

Paketinizi geliştirme modunda dağıtmak için, hedefe mode eşlemeyi development olarak ayarlayarak ekleyin. Bkz . paket yapılandırma hedefleri eşlemesi. Örneğin, adlı dev bu hedef bir geliştirme hedefi olarak değerlendirilir:

targets:
  dev:
    mode: development

Komutunu çalıştırarak geliştirme modunda bir hedefi dağıtmakdatabricks bundle deploy -t <target-name>, ön ayarlar kullanılarak özelleştirilebilen aşağıdaki davranışları uygular:

  • Dosya veya not defteri olarak dağıtılmayan tüm kaynaklara ön ek [dev ${workspace.current_user.short_name}] ekler ve dağıtılan her işi ve işlem hattını bir dev Azure Databricks etiketiyle etiketler.
  • İlgili dağıtılan Lakeflow Spark Bildirimli İşlem Hatlarını development: true olarak işaretler.
  • İlgili paket yapılandırma dosyasında önceden belirtilmiş olan tüm mevcut küme tanımlarını geçersiz kılan --cluster-id <cluster-id> komutuna yönelik ilgili çağrılarda bundle deploy kullanımını etkinleştirir. --cluster-id <cluster-id> komutuna yapılan ilgili çağrılarda bundle deploy kullanmak yerine, cluster_id eşlemesini burada veya bundle eşlemesinin alt eşlemesi olarak, kullanılacak kümenin kimliğine ayarlayabilirsiniz.
  • İşler veya kalite izleyicileri gibi dağıtılan kaynaklarda tüm zamanlamaları ve tetikleyicileri duraklatır. schedule.pause_status öğesini UNPAUSED olarak ayarlayarak, tek bir iş için zamanlamaları ve tetikleyicileri devam ettirin.
  • Daha hızlı yineleme için dağıtılan tüm işlerde eşzamanlı çalıştırmaların yapılmasını etkinleştirir. max_concurrent_runs öğesini 1 olarak ayarlayarak tek bir iş için eşzamanlı çalıştırmaları devre dışı bırakın.
  • Daha hızlı yineleme için dağıtım kilidini devre dışı bırakır. Bu kilit, geliştirme modunda gerçekleşme olasılığı düşük olan dağıtım çakışmalarını önler. bundle.deployment.lock.enabled değerini true olarak ayarlayarak kilidi yeniden etkinleştirin.

Üretim modu

Paketinizi üretim modunda dağıtmak için mode eşlemeyi, production olarak ayarlayarak hedefe ekleyin. Bkz . paket yapılandırma hedefleri eşlemesi. Örneğin, adlı prod bu hedef bir üretim hedefi olarak değerlendirilir:

targets:
  prod:
    mode: production

komutunu çalıştırarak bir hedefi üretim modunda dağıtmak databricks bundle deploy -t <target-name> aşağıdaki davranışları uygular:

  • Tüm ilgili dağıtılmış Lakeflow Spark Deklaratif Boru Hatlarının development: false olarak işaretlendiğini doğrular.

  • Geçerli Git dalın hedefte belirtilen Git dalı ile eşit olduğunu doğrular. Hedefte bir Git dalı belirtmek isteğe bağlıdır ve aşağıdaki gibi ek git bir özellik ile yapılabilir:

    git:
      branch: main
    

    Bu doğrulama, dağıtım sırasında belirtilerek --force geçersiz kılınabilir.

  • Databricks, üretim dağıtımları için hizmet sorumlularını kullanmanızı önerir. Bunu bir hizmet sorumlusuna ayarlayarak run_as etkinleştirebilirsiniz. Bkz. Hizmet sorumluları ve Bildirim temelli Otomasyon Paketleri iş akışı için bir çalıştırma kimliği belirtme. Hizmet sorumlularını kullanmıyorsanız aşağıdaki ek davranışları not edin:

    • artifact_path, file_path, veya root_pathstate_path eşlemelerinin belirli bir kullanıcıya geçersiz kılınmadığını doğrular.
    • Dağıtımlara belirli izinlere sahip olan kimliklerin netleştirilmesi için run_as ve permissions eşlemelerinin belirtildiğini doğrular.
  • Önceki davranışın aksine, eşlemeyi mode'ten development'e ayarlamak, eşlemeyi mode'e production olarak belirlemek, örneğin --compute-id <cluster-id> seçeneği veya compute_id eşlemesini ilgili paket yapılandırma dosyasında belirtilen mevcut küme tanımlarının üzerine yazılmasına izin vermez.

Özel ön ayarlar

Bildirim temelli Otomasyon Paketleri, hedefler için yapılandırılabilir ön ayarları destekler ve bu sayede hedefler için davranışları özelleştirebilirsiniz. Kullanılabilir ön ayarlar için yapılandırma başvurusuna bakın.

Not

Belirli bir ön ayar için bir istisna belirtilmediği sürece, hem mode, hem de presets ayarlanmışsa, ön ayarlar varsayılan mod davranışını geçersiz kılar ve bireysel kaynakların ayarları ön ayarları geçersiz kılar. Örneğin:

  • max_concurrent_runs İş için değeri 10 ise ancak jobs_max_concurrent_runs ön ayar 20 olarak ayarlanmışsa, işin en fazla eş zamanlı çalıştırma sayısı 10'dur.
  • Zamanlama UNPAUSED olarak ayarlanırsa, ancak trigger_pause_status ön ayar PAUSED olarak ayarlanırsa, zamanlama devam ettirilecektir.

Aşağıdaki örnekte adlı devhedef için özel ön ayarlar yapılandırması gösterilmektedir:

targets:
  dev:
    presets:
      name_prefix: 'testing_' # prefix all resource names with testing_
      pipelines_development: true # set development to true for pipelines
      trigger_pause_status: PAUSED # set pause_status to PAUSED for all triggers and schedules
      jobs_max_concurrent_runs: 10 # set max_concurrent runs to 10 for all jobs
      tags:
        department: finance