Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Databricks Uygulamalarının ardındaki temel kavramlar tanıtılır. Bu kavramlar arasında uygulamaların nasıl yapılandırıldığı, bağımlılıkları ve durumu nasıl yönetdikleri, izinlerin nasıl çalıştığı ve uygulamaların platform kaynaklarıyla nasıl etkileşimde bulunduğu yer alır. Bu kavramları anlamak, çalışma alanınızdaki uygulamaları geliştirirken, dağıtırken ve yönetirken yardımcı olur.
App
Databricks uygulaması, Azure Databricks sunucusuz platformunda kapsayıcılı hizmet olarak çalışan bir web uygulamasıdır. Geliştiriciler, Azure Databricks çalışma alanında etkileşimli veriler veya yapay zeka deneyimleri sunan uygulamalar oluşturmak için Streamlit, Dash veya Gradio gibi desteklenen çerçeveleri kullanır.
Her uygulama kendi yapılandırmasına, kimliğine ve yalıtılmış çalışma zamanı ortamına sahiptir. Uygulamalar belirli bir çalışma alanına ait olduğundan, SQL ambarları gibi çalışma alanı düzeyinde kaynaklara ve Unity Kataloğu gibi hesap düzeyindeki kaynaklara erişebilirler. Geliştiriciler ayrıca çalışma alanının dışındaki ancak aynı Azure Databricks hesabındaki kullanıcılarla uygulama paylaşmayı seçebilir.
Uygulama kapsayıcısı Azure Databricks sunucusuz altyapısında çalışsa da, uygulamanın kendisi hem sunucusuz hem de sunucusuz olmayan kaynaklara bağlanabilir. Kavramsal olarak bir uygulama, web kullanıcı arabirimini barındıran ve kullanılabilir Azure Databricks veri düzlemi hizmetlerine erişen bir denetim düzlemi hizmeti işlevi görür. Daha fazla bilgi için bkz. Databricks mimarisine genel bakış.
Uygulamaları başlatmak ve yönetmek için çalışma alanı kullanıcı arabirimindeki Uygulamalar bölümüne gidin.
Uygulama URL'si
Databricks, oluşturduğunuz her uygulamaya otomatik olarak benzersiz bir URL atar. URL şu biçimdedir:
https://<app-name>-<workspace-id>.<region>.databricksapps.com
Where:
-
<app-name>, uygulamayı oluştururken sağladığınız addır -
<workspace-id>çalışma alanınızın benzersiz tanımlayıcısı -
<region>çalışma alanınızın bulunduğu bulut bölgesidir
Uygulamayı oluşturduktan sonra URL'yi değiştiremezsiniz. Farklı bir URL'ye ihtiyacınız varsa, farklı bir ada sahip yeni bir uygulama oluşturun.
Template
Uygulama şablonu, geliştiricilerin desteklenen bir çerçeveyi kullanarak hızla uygulama oluşturmaya başlamasına yardımcı olan önceden oluşturulmuş bir yapı iskelesidir. Her şablonda temel bir dosya yapısı, bir app.yaml bildirim, Python uygulamaları için bir requirements.txt dosya ve örnek kaynak kodu bulunur.
Dosya, app.yaml uygulamayı çalıştırmak için komutunu tanımlar (örneğin, streamlit run <app-name> streamlit uygulaması için), yerel ortam değişkenlerini ayarlar ve gerekli kaynakları bildirir.
-
requirements.txtkullanarakpipile yüklenecek ek Python paketlerini listeleyin. -
package.jsonkullanarak Node.js paketlerininpmile yüklenecek şekilde listeleyin.
Bu dosyalar varsayılan sistem ortamını ve önceden yüklenmiş paketleri destekler. Daha fazla bilgi için bkz. Databricks Apps sistem ortamı.
Geliştiriciler, Azure Databricks kullanıcı arabirimini veya CLI'yi kullanarak şablondan yeni bir uygulama oluşturabilir.
Sistem ortamı ve paketleri
Databricks Uygulamaları, Azure Databricks tarafından yönetilen önceden yapılandırılmış bir sistem ortamında çalışır. Ayrıntılar için bkz. Databricks Apps sistem ortamı.
Bağımlılık çakışmalarını önlemek için her uygulamanın kendi yalıtılmış ortamı vardır. Tutarlılığı sağlamak için gerekli paketleri ve sürümlerini uygulamanız için uygun dosyada tanımlayın:
-
Python için kullanın
requirements.txt. -
Node.jsiçin kullanın
package.json.
Karma dağıtımlar için büyük olasılıkla her iki dosyaya da sahip olursunuz.
Dağıtım sırasında Azure Databricks bu bağımlılıkları uygulamanın yalıtılmış çalışma zamanı ortamına yükler. Önceden yüklenmiş bir paket eklerseniz, belirtilen sürüm varsayılanı geçersiz kılar.
Daha fazla ayrıntı için bkz. Databricks uygulaması için bağımlılıkları yönetme .
Uygulama kaynakları
Azure Databricks'e özgü hizmetler arasında yer alan uygulama kaynakları, uygulamaların güvendiği SQL veri ambarları, model sunma uç noktaları, işler, gizli anahtarlar veya birimler gibi bileşenlerdir. Bu bağımlılıkları manifest dosyasında databricks.yml alanını kullanarak resources bildirirsiniz. Azure Databricks aşağıdaki kaynak türlerini destekler:
- SQL ambarı
- Job
- Model sunma uç noktası
- Genie Uzayı
- Secret
- Volume
Henüz desteklenen bir kaynak türü olmayan Azure Databricks hizmetlerine erişmek için, kimlik bilgilerini güvenli bir şekilde eklemek için Unity Kataloğu tarafından yönetilen gizli dizi kullanın. Bkz. Gizli yönetim.
Uygulama kaynaklarını yapılandırmanın iki aşaması vardır:
-
Bildirim (geliştirme) - Bildirimdeki
databricks.ymlher gerekli kaynağı bildirin. Bu, uygulamanın hangi kaynaklara ihtiyacı olduğunu ve hangi izinleri gerektirdiğini tanımlar. - Yapılandırma (dağıtım) - Dağıtım sırasında, bildirilen kaynakları çalışma alanına özgü gerçek örneklerle yapılandırmak için Databricks Uygulamaları kullanıcı arabirimini kullanın (örneğin, belirli bir SQL ambarını seçme).
Bildirim ve yapılandırma arasındaki bu ayrım, uygulamaların ortamlar arasında taşınabilir olmasını sağlar. Örneğin, aynı uygulama kodunu bir geliştirme çalışma alanına dağıtabilir ve bir SQL ambarı ile ilişkilendirebilirsiniz. Üretimde kodu yeniden kullanabilir ve kod değişikliği yapmadan farklı bir ambar yapılandırabilirsiniz. Bunu desteklemek için uygulamanızda kaynak kimliklerini veya ortama özgü değerleri sabit kodlamaktan kaçının.
Azure Databricks asgari ayrıcalıklı erişimi uygular. Uygulamalar mevcut kaynakları kullanmalıdır ve yenilerini oluşturamaz. Dağıtım sırasında çalışma alanı yöneticileri uygulamanın kaynaklara istediği erişimi gözden geçirir ve onaylar. Uygulamanın hizmet sorumlusu gerekli izinleri alır ve uygulama geliştiricisinin bu izinleri vermesi gerekir.
Daha fazla bilgi edinmek için bkz. Databricks uygulamasına kaynak ekleme.
Uygulama durumu
Bir uygulama şu durumlardan birine sahip olabilir: Çalışıyor, Durduruldu, Dağıtılıyor veya Kilitlendi.
- Aktif - Uygulama etkin ve erişilebilir. Azure Databricks, uygulama çalışırken kullanılan işlem kaynakları için faturalar oluşturur.
- Durduruldu - Uygulama erişilebilir değil ve herhangi bir maliyet doğurmuyor. Azure Databricks, uygulamanın yapılandırmasını ve ortamını korur, böylece uygulamayı yeniden yapılandırmadan yeniden başlatabilirsiniz.
- Dağıtım - Uygulama başlatılıyor. Henüz erişilebilir değildir ve bu aşamada herhangi bir ücret uygulanmaz.
- Kilitlendi - Uygulama beklenmedik bir şekilde başlatılamadı veya durduruldu. Erişilemez ve ücret uygulanmaz. Sorun giderildikten sonra sorunu gidermek ve uygulamayı yeniden başlatmak için günlükleri görüntüleyebilirsiniz.
Uygulama durumu
Uygulama durumu, uygulamanın kullanıcı oturumlarında veya etkileşimlerinde kalıcı olması için gereken tüm verileri veya bağlamı içerir. Uygulamalar yeniden başlatmalardan sonra bellek içi durumunu korumaz. Uygulama kapatıldığında bellekte tutulan tüm veriler kaybolur.
Durumu aşağıdaki yollarla depolayabilirsiniz:
- Tek bir oturumdaki geçici veriler için bellek içi depolama. Uygulama yeniden başlatıldığında bu veriler kaybolur.
- Uygulama yürütme sırasında geçici dosyalar için yerel dosya sistemi. Uygulama yeniden başlatıldığında bu veriler kaybolur.
- Azure Databricks tabloları, veri analizi iş yükleri ve kalıcı yapılandırılmış veri için Databricks SQL kullanır.
- Kalıcı yapılandırılmamış veriler için çalışma alanı dosyaları.
- Unity Kataloğu birimleri, Unity Kataloğu yönetimi ile kalıcı yapılandırılmamış veri için.
- PostgreSQL uyumluluğu ile kalıcı ilişkisel veriler için Lakebase veritabanı örnekleri.
Yaygın kullanım örnekleri arasında sorgu sonuçlarını önbelleğe alma, kullanıcı tercihlerini kaydetme veya oturumlar arasında kullanıcı eylemlerini günlüğe kaydetme sayılabilir.
Uygulama kimlik doğrulaması ve yetkilendirme
Databricks Apps, kimlik doğrulaması ve erişim denetimi için OAuth 2.0 kullanır. Her uygulamanın Azure Databricks kaynaklarına erişimi nasıl doğrulayıp yetkilediğini belirleyen iki tamamlayıcı kimlik vardır: uygulama yetkilendirme ve kullanıcı yetkilendirmesi.
Uygulama yetkilendirmesi - Azure Databricks her uygulama için otomatik olarak bir hizmet sorumlusu oluşturur. Bu hizmet sorumlusu, uygulamanın kimliği olarak hareket eder ve uygulama geliştiricisi tarafından kendisine izinler verilir. Uygulamanın tüm kullanıcıları bu kimliği paylaşır ve aynı izin kümesine erişebilir. Bu model, her bir kullanıcıya özgü bağlama bağlı olmayan işlemler için, örneğin günlüğe kaydetme veya sistem düzeyinde eylemler gibi, kullanışlıdır.
Kullanıcı yetkilendirmesi - Bu model, erişimin kimliğini doğrulamak ve yetkilendirmek için uygulama kullanıcısının kimliğini kullanır. Kullanıcıların uygulamanın dağıtıldığı Azure Databricks hesabına ait olması gerekir. Uygulama, çoklu oturum açma (SSO) aracılığıyla oturum açtıktan sonra sql ambarı gibi yönetilen kaynaklara erişmek için kullanıcının kimlik bilgilerini kullanabilir. Bu, uygulamanın hizmet sorumlusuna bu izinleri vermeden Unity Kataloğu tarafından yönetilen ayrıntılı izinlere saygı göstermesini sağlar.
Uygulamalar, hangi API'lere ve kaynaklara erişebileceklerini denetlemek için bildirimlerinde belirli OAuth kapsamları istemektedir. Bu esnek model, kurumsal düzeyde güvenliği destekler ve ayrıntılı erişim denetimi sağlar.
Daha fazla bilgi için bkz. Databricks uygulamasında yetkilendirmeyi yapılandırma.
Uygulama kullanıcıları
Dağıtımdan sonra, uygulama geliştiricileri uygulama örneğinde CAN_USE veya CAN_MANAGE izni vererek bir uygulamayı kullanıcılar veya gruplarla paylaşabilir. Kullanıcıların aynı çalışma alanına ait olması gerekmez, ancak aynı Azure Databricks hesabının parçası olmaları gerekir. Dış kullanıcılarla paylaşmak için önce kimlik sağlayıcınızı kullanarak bunları hesapla eşitleyin. Daha fazla bilgi için bkz. SCIMkullanarak Microsoft Entra ID'den kullanıcıları ve grupları eşitleme.
Ci/CD işlem hatlarını ve kod olarak altyapıyı kullanarak aynı uygulamayı geliştirme, hazırlama ve üretim ortamlarına da dağıtabilirsiniz. Merkezi Uygulamalar kullanıcı arabirimi, kullanıcıların kullanma yetkileri olan uygulamaları bulmasına ve başlatmasına yardımcı olur.