Databricks uygulaması dağıtma

Azure Databricks uygulamanızı oluşturup geliştirdikten sonra Azure Databricks çalışma alanında erişilebilir hale getirmek için dağıtın. Dağıtım uygulamanızı derler, bağımlılıkları yükler ve proje dosyalarınızda tanımlanan yapılandırmayı kullanarak çalıştırır. Azure Databricks kullanıcı arabirimini veya Databricks CLI'yi kullanarak uygulamaları dağıtabilirsiniz.

Uyarı

Şablondan uygulama oluşturursanız, Azure Databricks ilk oluşturduğunuzda uygulamayı otomatik olarak dağıtır. Ancak, daha sonra değişiklik yaptıktan sonra da yeniden dağıtabilirsiniz. Bkz. Şablondan Databricks uygulaması oluşturma.

Dağıtım mantığı

Databricks Apps, Python, Node.jsveya her ikisinin birleşimini kullanan uygulamaların dağıtılmasına destek olur. Bu, arka ucu Python olan Node.js ön ucu gibi esnek mimarilere olanak tanır.

Dağıtım sırasında derleme işlemi, Node.js kullanılıp kullanılmadığını belirlemek için uygulama dizininizin kökündeki bir package.json dosyayı denetler. Varsa, Python adımların yanı sıra Düğüme özgü derleme adımlarını da içerir. Dağıtım mantığı şu deseni izler:

Eğer package.json varsa:

  1. npm install komutunu çalıştırın
  2. Python bağımlılıklarını yükleyin:
    • Varsa requirements.txt komutunu çalıştırın pip install -r requirements.txt
    • Eğer requirements.txt mevcut değilse ve hem pyproject.toml hem de uv.lock mevcutsa, bağımlılıkları yüklemek için uv sync komutunu çalıştırın.
  3. npm run build çalıştırın (eğer build içinde package.json betiği tanımlanmışsa)
  4. içinde app.yamlbelirtilen komutu çalıştırın veya npm run start herhangi bir komut belirtilmemişse

Uyarı

app.yaml içinde hiçbir komut belirtilmezse, uygulama Python kodu içerse bile Azure Databricks npm run start yürütür. İkisini de başlatan, start gibi bir araç kullanan özel bir concurrently betiği tanımlayın; böylece hem Python hem de Node.js işlemlerini çalıştırabilirsiniz. Örneğin: concurrently "npm run start:node" "python my_app.py".

Eğer package.json mevcut değilse:

  1. Python bağımlılıklarını yükleyin:
    • Varsa requirements.txt komutunu çalıştırın pip install -r requirements.txt
    • Eğer requirements.txt mevcut değilse ve hem pyproject.toml hem de uv.lock mevcutsa, bağımlılıkları yüklemek için uv sync komutunu çalıştırın.
  2. içinde app.yamlbelirtilen komutu çalıştırın veya python <my-app>.py herhangi bir komut belirtilmemişse

Dağıtıma hazırlanma

Uygulamanızı dağıtmadan önce projenizin gerekli bileşenleri içerdiğini doğrulayın:

Ayrıca, app service sorumlusunun kaynak kod klasörüne erişimi olduğundan emin olun.

Dağıtım kaynağı seçme

Databricks uygulamalarını aşağıdaki kaynaklardan dağıtabilirsiniz:

  • Çalışma alanı klasörü - Uygulama dosyalarını bir çalışma alanı klasörüne yükleyin ve oradan dağıtın. Bu, standart dağıtım yöntemidir.
  • Git deposu - Bir uygulama için Git deposu yapılandırın ve çalışma alanına dosya yüklemeden doğrudan dağıtın. Uygulama, her dağıtımda yapılandırılmış Git referansından (dal, etiket veya işlem) kodu alır. Ayrıca, depo içindeki belirli bir dizinden dağıtılacak bir kaynak kodu yolu da belirtebilirsiniz. GitHub, GitLab ve Bitbucket dahil olmak üzere tüm büyük Git sağlayıcıları desteklenir. Desteklenen sağlayıcıların tam listesi için bkz. Git sağlayıcınızı Databricks'e bağlama.

Çalışma alanı yöneticisi yalnızca Git dağıtımlarını zorunlu kılmadığı sürece, istediğiniz zaman aynı uygulama için çalışma alanı ile Git kaynakları arasında geçiş yapabilirsiniz. Bkz. Yalnızca Git dağıtımlarını zorunlu kılma.

Yalnızca Git dağıtımlarını zorunlu kılma

Çalışma alanı yöneticileri, git depolarından dağıtım yapmak için çalışma alanı içindeki tüm uygulamaları gerektirebilir. Bu ayarı etkinleştirmek için Ayarlar>Geliştirme>Uygulamaları'na gidin ve Yalnızca Git'ten uygulama dağıtımlarına izin ver'i açın. Bu ayar varsayılan olarak kapalıdır.

Bu ayarı etkinleştirdiğinizde:

  • Kullanıcıların uygulama oluşturmadan önce bir Git deposu yapılandırması gerekir.
  • Kullanıcılar çalışma alanı klasörlerinden değil yalnızca Git'ten dağıtım yapabilir.
  • Databricks çalışma alanında uygulama şablonlarını devre dışı bırakır.
  • Kullanıcılar, git deposunu içeren uygulamalardan kaldıramaz.
  • Mevcut uygulamalar çalışmaya devam eder, ancak uygulamanın Git deposu olmadığı sürece kullanıcılar bunları dağıtamaz veya yeniden başlatamaz.

Uygulamayı dağıtma

Aşağıdaki bölümlerde çalışma alanı klasöründen veya doğrudan git deposundan nasıl dağıtılacağı açıklanmaktadır.

Çalışma alanı klasöründen dağıtım

Databricks kullanıcı arabirimi

Azure Databricks kullanıcı arabiriminden bir uygulama dağıtmak için:

  1. Uygulama dosyalarını Azure Databricks çalışma alanınıza yükleyin. Yönergeler için bkz. Dosyayı içeri aktarma.
  2. Databricks çalışma alanınızda Uygulama simgesine tıklayın. Uygulama değiştirici ve Databricks Uygulamaları'nı seçin.
  3. Ad sütununda uygulamanızı seçin.
  4. Dağıt'a tıklayın ve çalışma alanınızda uygulama dosyalarını yüklediğiniz klasörü seçin.
  5. Seç'e ve ardından Dağıt'a tıklayın.

Databricks Komut Satırı Arayüzü (CLI)

CLI kullanarak uygulama dağıtmak için:

  1. Bir terminal açın ve uygulama dosyalarınızı içeren dizine gidin.

  2. sync komutunu kullanarak uygulama dosyalarınızı Azure Databricks çalışma alanına yükleyin. Yolu, dosyaları yüklemek istediğiniz çalışma alanının konumuna göre değiştirin.

    databricks sync --watch . /Workspace/Users/my-email@org.com/my-app
    

    bayrağı --watch , eşitleme işlemini çalışır durumda tutar ve dosyaları yerel olarak değiştirdiğinizde değişiklikleri otomatik olarak karşıya yükler. Belirli dosyaları veya dizinleri eşitlemenin dışında tutmak için bunları yerel uygulama dizininizdeki bir .gitignore dosyaya ekleyin. Dışlanması gereken yaygın dosyalar , node_modules/, .env, __pycache__/, ve tüm büyük veri dosyaları veya derleme yapıtlarıdır.DS_Store.

  3. Çalışma alanınızdaki dosyaları görüntüleyerek yüklemeyi doğrulayın. Uygulama simgesine tıklayın. Uygulama değiştirici >Lakehouse'a tıklayın, ardından Çalışma Alanı SimgesiÇalışma Alanı'na tıklayın ve uygulamanız için oluşturduğunuz dizine gidin.

  4. Aşağıdaki komutu çalıştırarak uygulamayı dağıtın. Uygulama adını ve kaynak kodu yolunu değerlerinizle değiştirin.

    databricks apps deploy my-app-name \
       --source-code-path /Workspace/Users/my-email@org.com/my-app
    

    CLI dağıtım ilerleme durumunu görüntüler ve uygulamanın ne zaman çalıştığını onaylar.

Git deposundan dağıtma

Git deposundan uygulama dağıtmak için, depoyu uygulama düzeyinde ekleyin ve dağıttığınızda Git başvurusunu belirtin. Git deponuz , bağımlılıkları ve giriş noktası gibi app.yamluygulama dosyalarını içermelidir. GitHub, GitLab ve Bitbucket dahil olmak üzere tüm büyük Git sağlayıcıları desteklenir. Kullanıcı arabirimi, CLI, API veya Bildirim temelli Otomasyon Paketlerini kullanarak git destekli uygulamalar da dağıtabilirsiniz.

Databricks kullanıcı arabirimi

Git'ten bir uygulamayı yapılandırmak ve dağıtmak için:

  1. Uygulama dosyalarınızı bir Git deposuna yükleyin.
  2. Databricks çalışma alanınızda Uygulama simgesine tıklayın. Uygulama değiştirici ve Databricks Uygulamaları'nı seçin.
  3. Düzenlemek için mevcut bir uygulamayı seçin veya + Uygulama oluştur'a tıklayın.
  4. Git deposunu yapılandır adımında Git deposu URL'sini (örneğin, https://github.com/org/repo) girin ve bir Git sağlayıcısı seçin.
  5. Uygulama ayrıntıları sayfasına dönmek için Uygulama oluştur'a veya Kaydet'e tıklayın.
  6. Özel depolar için, uygulamanın hizmet sorumlusunun bir Git kimlik bilgisi yapılandırılmış olmalıdır. Uygulama ayrıntıları sayfasında Git kimlik bilgilerini yapılandır'a tıklayın veya uygulamayı düzenleyip Git deposunu yapılandırma adımına kimlik bilgilerini ekleyin. Git kimlik bilgisi eklemek için uygulamada izinlere sahip CAN MANAGE olmanız gerekir. Genel depolar Git kimlik bilgileri gerektirmez. Her sağlayıcıyla ilgili yönergeler için bkz. Git sağlayıcınızı Databricks'e bağlama.

Ardından uygulamayı dağıtın:

  1. Uygulamaya genel bakış sayfasında Dağıt'a tıklayın.
  2. Git'ten'i seçin.
  3. Git başvurusu için dal adını, etiketi veya işlem SHA'sını (örneğin, main, v1.0.0 veya işleme karması) girin.
  4. Başvuru türü için dal, etiket veya işleme gibi başvuru türünü belirtin.
  5. (İsteğe bağlı) Kaynak kodu yolu için, depodaki belirli bir dizinin yolunu girin. Uygulama bu dizini en üst düzey dizin olarak ele alır ve dışındaki dosyalara erişemez. Bir yol belirtmezseniz Databricks depo kökünü kullanır.
  6. Dağıt’a tıklayın.

Databricks Komut Satırı Arayüzü (CLI)

CLI kullanarak Git'ten uygulama dağıtmak için:

  1. Uygulama dosyalarınızı bir Git deposuna yükleyin.

  2. Uygulamayı oluştururken uygulamada Git deposunu yapılandırın veya mevcut bir uygulamaya ekleyin. Desteklenen sağlayıcılar gitHub, gitHubEnterprise, gitLab, gitLabEnterpriseEdition, bitbucketCloud, bitbucketServer, azureDevOpsServices ve awsCodeCommit'dir.

    Git deposu yapılandırılmış yeni bir uygulama oluşturmak için create komutunu kullanın:

    databricks apps create my-app \
       --json '{"git_repository": {"url": "https://github.com/org/repo", "provider": "gitHub"}}'
    

    Mevcut bir uygulamaya Git deposu eklemek veya güncelleştirmek için create-update komutunu kullanın:

    databricks apps create-update my-app \
       --json '{"update_mask": "git_repository", "git_repository": {"url": "https://github.com/org/repo", "provider": "gitHub"}}'
    
  3. Özel depolar için, uygulamanın hizmet sorumlusu için bir Git kimlik bilgisi yapılandırın. Git kimlik bilgisi eklemek için uygulamada izinlere sahip CAN MANAGE olmanız gerekir. Genel depolar Git kimlik bilgileri gerektirmez.

    CLI kullanarak uygulamanın hizmet sorumlusuna git kimlik bilgisi eklemek için şunu çalıştırın:

    databricks git-credentials create --json '{
      "git_provider": "gitHub",
      "git_email": "your-email@example.com",
      "personal_access_token": "YOUR_TOKEN",
      "principal_id": YOUR_SP_ID,
      "name": "GitHub credentials for SP"
    }'
    

    YOUR_SP_ID değerini uygulamanın hizmet sorumlusu kimliğiyle değiştirin. Her sağlayıcı için kişisel erişim belirteci alma yönergeleri için bkz. Git sağlayıcınızı Databricks'e bağlama.

  4. Git referansını belirterek uygulamayı dağıtın. bir branch, tagveya commit belirtebilirsiniz (bunlar birbirini dışlar). İsteğe bağlı olarak, depo içindeki bir alt dizinden dağıtım yapmak için source_code_path ekleyin.

    databricks apps deploy my-app \
       --json '{"git_source": {"branch": "main"}}'
    

    Belirli bir etiketi veya commit'i dağıtmak için:

    databricks apps deploy my-app \
       --json '{"git_source": {"tag": "v1.0.0"}}'
    
    databricks apps deploy my-app \
       --json '{"git_source": {"commit": "abc123def456"}}'
    

    Depo içindeki bir alt dizinden dağıtmak için:

    databricks apps deploy my-app \
       --json '{"git_source": {"branch": "main", "source_code_path": "apps/my-app"}}'
    

    CLI dağıtım ilerleme durumunu görüntüler ve uygulamanın ne zaman çalıştığını onaylar.

Dal veya etiket başvuruları için Azure Databricks bu daldan veya etiketten en son işlemeyi dağıtır. Commit SHA referansları için Azure Databricks her zaman söz konusu taahhüdü dağıtır. Hizmet sorumlusunun Git kimlik bilgisi geçersizse veya süresi dolduysa dağıtım başarısız olur.

Uyarı

Git dağıtımı genel kullanıma sunulmadan önce oluşturulan uygulamalar, oluşturuculara CAN MANAGE uygulamanın hizmet sorumlusu üzerinde otomatik olarak izin vermez. Eski bir uygulamaya Git kimlik bilgisi eklemeniz gerekiyorsa, çalışma alanı yöneticisinden hizmet sorumlusu üzerinde size CAN MANAGE izinler vermesini isteyin.

Hizmet sorumluları sağlayıcı başına bir Git kimlik bilgilerini destekler. Hesap konsolu gibi başka bir yerde kimlik bilgilerini güncelleştirirseniz, söz konusu sağlayıcının mevcut kimlik bilgilerinin yerini alır.

Dağıtım sonrası davranış

Dağıtım tamamlandıktan sonra, Azure Databricks, command dosyanızda tanımlı olan app.yaml temelinde veya varsayılan olarak python app.py çalıştırarak uygulamanızı başlatır. Uygulama ayrıntıları sayfası geçerli durumu gösterir ve günlüklere, dağıtım geçmişine ve ortam bilgilerine erişim sağlar.

Uygulama dağıtımından sonra uygulama ayrıntıları sayfasını görüntüleme

Dağıtılan uygulamanın çıkışını görüntülemek için uygulama bağlantısına tıklayın.

Hata ayıklama ve çalışma zamanı izleme için Günlükler sekmesine gidin. Bakınız Databricks Uygulamaları için Günlüğe Kaydetme ve İzleme.

Uygulamayı güncelleştirme veya yeniden dağıtma

Kaynak kodunda veya yapılandırmada değişiklik yaptıktan sonra uygulamanızı yeniden dağıtin. Yeniden dağıtım, uygulamayı yeniden oluşturmadan en son güncelleştirmelerinizi uygular. İstediğiniz zaman çalışma alanından veya Git deposundan yeniden dağıtabilirsiniz.

Çalışma alanı klasöründen yeniden dağıtma

Çalışma alanı klasöründen yeniden dağıtmak için:

  1. Çalışma alanı klasöründeki uygulama dosyalarınızı güncelleştirin.
  2. Uygulamayı seçin ve Dağıt'a tıklayın.
  3. Kaynak kod yolu değiştiyse veya git kaynağından geçiş yaptığınızda Dağıt'ın yanındaki oka tıklayın ve Farklı bir kaynak kullanarak dağıt'ı seçin.

Git deposundan yeniden dağıtma

Git deposundan yeniden dağıtmak için:

  1. Değişikliklerinizi Git deposuna gönderin.
  2. Azure Databricks çalışma alanınızda uygulamanızı seçin ve Deploy öğesine tıklayın.
  3. Git başvurusu değiştiyse veya çalışma alanı kaynağından geçiş yaptığınızda Dağıt'ın yanındaki oka tıklayın ve Farklı bir kaynak kullanarak dağıt'ı seçin.

Git deposunu veya kimlik bilgilerini değiştirmek için uygulama yapılandırmasını düzenleyin. CLI veya API kullanarak Git deposunu güncelleştirmek için create-update komutunu kullanın. Uygulamadan Git deposunu kaldırmak, çalışma alanından dağıtımı zorlar.

Önemli

Git deposunu değiştirmek veya dağıtım kaynakları (Git ve çalışma alanı) arasında geçiş yapmak, uygulamanın hizmet sorumlusu için tüm Git kimlik bilgilerini siler. Yalnızca Git başvurusu değiştirildiğinde kimlik bilgileri silinmez. Git'ten yeniden dağıtmadan önce kimlik bilgilerini yeniden yapılandırmanız gerekir.

Dağıtım sorunlarını giderme

Uygulamanız dağıtılamazsa veya beklendiği gibi çalışmazsa aşağıdaki sorun giderme adımlarını deneyin:

  • Hata iletileri veya çalışma zamanı çıktısı için günlükleri denetleyin.
  • Söz dizimlerini ve ayarları doğrulayın app.yaml .
  • env bölümündeki gizli bilgilerin ve ortam değişkenlerinin düzgün çözümlendiğini doğrulayın.
  • Tüm gerekli bağımlılıkların dahil edildiğini veya yüklendiğini onaylayın.
  • Çalışma alanınız Özel Bağlantı veya kısıtlanmış çıkış ağ ilkeleri kullanıyorsa, gerekli etki alanlarının izin verilenler listesine eklendiğini doğrulayın. Eksik çıkış izin listesi girişleri, Özel Bağlantı ortamlarındaki dağıtım hatalarının yaygın nedenlerinden biridir. Bkz. Özel Bağlantı ortamlarında uygulamaları dağıtma.

Git deposu dağıtımları için:

  • Özel depolar için, uygulamanın hizmet sorumlusunun yapılandırılmış bir Git kimlik bilgisi olduğunu doğrulayın.
  • Git deposu URL'sinin doğru olduğunu ve Git başvurusunun (dal, etiket veya işleme) depoda mevcut olduğunu doğrulayın.
  • Çalışma alanı yöneticisi yalnızca Git dağıtımlarını zorlarsa, bir Git deposu yapılandırılmadığı sürece uygulamayı dağıtamaz veya başlatamazsınız.
  • CLI, API veya Bildirim temelli Otomasyon Paketlerinden dağıtım yaparsanız, önce uygulamayı oluşturun, ardından Git kimlik bilgilerini uygulamanın hizmet sorumlusuna ekleyin.

Sonraki Adımlar