Azure Resource Manager Şablonu kullanarak GitHub'dan bir web uygulamasıyla Azure Cosmos DB ve Azure Uygulaması Hizmeti dağıtma
UYGULANANLAR: NoSQL
Bu öğreticide, Azure Cosmos DB'den Azure portalındaki Azure Uygulaması Services uygulama ayarlarına veya bu ayarlara bağlantı bilgilerini kesmek ve yapıştırmak zorunda kalmadan ilk çalıştırmada Azure Cosmos DB'ye appsettings.json
bağlanan bir web uygulamasının "dokunmadan" dağıtımını nasıl yapacağınız gösterilmektedir. Tüm bu eylemler tek bir işlemde Azure Resource Manager şablonu kullanılarak gerçekleştirilir. Buradaki örnekte bir Web uygulaması öğreticisinden Azure Cosmos DB ToDo örneğini dağıtacağız.
Resource Manager şablonları oldukça esnektir ve Azure'daki tüm hizmetlerde karmaşık dağıtımlar oluşturmanıza olanak sağlar. Bu, GitHub'dan uygulama dağıtma ve Azure portalında Azure Uygulaması Hizmeti'nin uygulama ayarlarına bağlantı bilgileri ekleme gibi gelişmiş görevleri içerir. Bu öğreticide, tek bir Resource Manager şablonu kullanarak aşağıdakilerin nasıl gerçekleştirileceği gösterilir.
- Azure Cosmos DB hesabı dağıtma.
- bir Azure Uygulaması Hizmet Barındırma Planı dağıtın.
- Azure Uygulaması Hizmeti dağıtma.
- Azure Cosmos DB hesabından uç noktayı ve anahtarları Azure portalındaki App Service uygulama ayarlarına ekleme.
- GitHub deposundan App Service'e bir web uygulaması dağıtın.
Sonuçta elde edilen dağıtım, Azure Cosmos DB'nin uç nokta URL'sini veya kimlik doğrulama anahtarlarını Azure portalından kesip yapıştırmak zorunda kalmadan Azure Cosmos DB'ye bağlanabilen tam işlevsel bir web uygulamasına sahiptir.
Önkoşullar
İpucu
Bu öğreticide Azure Resource Manager şablonları veya JSON ile ilgili önceki deneyimler varsayılmasa da, başvuruda bulunan şablonları veya dağıtım seçeneklerini değiştirmek isterseniz bu alanların her biri hakkında bilgi sahibi olmanız gerekir.
1. Adım: Şablonu dağıtma
İlk olarak, özel dağıtım oluşturmak üzere Azure portalını açmak için aşağıdaki Azure'a Dağıt düğmesini seçin. Azure Resource Manager şablonunu Azure Hızlı Başlangıç Şablonları Galerisi'nden de görüntüleyebilirsiniz
Azure portalına girdikten sonra, dağıtılacak aboneliği seçin ve yeni bir kaynak grubu seçin veya oluşturun. Ardından aşağıdaki değerleri doldurun.
- Bölge - Bu, Resource Manager tarafından gereklidir. Kaynaklarınızın bulunduğu konum parametresi tarafından kullanılan bölgeyi girin.
- Uygulama Adı - Bu ad, bu dağıtım için tüm kaynaklar tarafından kullanılır. Mevcut Azure Cosmos DB ve App Service hesaplarıyla çakışmaları önlemek için benzersiz bir ad seçtiğinizden emin olun.
- Konum - Kaynaklarınızın dağıtıldığı bölge.
- App Service Planı Katmanı - App Service Planının fiyatlandırma katmanı.
- App Service Planı Örnekleri - App Service planı için çalışan sayısı.
- Depo URL'si - GitHub'daki web uygulamasının deposu.
- Branch - GitHub deposunun dalı.
- Veritabanı Adı - Azure Cosmos DB veritabanı adı.
- Kapsayıcı Adı - Azure Cosmos DB kapsayıcı adı.
Değerleri doldurduktan sonra Oluştur düğmesini seçerek dağıtımı başlatın. Bu adımın tamamlanması 5 ila 10 dakika arasında sürmelidir.
İpucu
Şablon, Azure Uygulaması Hizmeti adının ve şablona girilen Azure Cosmos DB hesap adının geçerli ve kullanılabilir olduğunu doğrulamaz. Dağıtımı göndermeden önce sağlamayı planladığınız adların kullanılabilirliğini doğrulamanız kesinlikle önerilir.
2. Adım: Kaynakları keşfetme
Dağıtılan kaynakları görüntüleme
Şablon kaynakları dağıttıktan sonra artık bunların her birini kaynak grubunuzda görebilirsiniz.
Azure Cosmos DB uç noktasını ve anahtarlarını görüntüleme
Ardından portalda Azure Cosmos DB hesabını açın. Aşağıdaki ekran görüntüsünde Bir Azure Cosmos DB hesabının uç noktası ve anahtarları gösterilmektedir.
Uygulama ayarlarında Azure Cosmos DB anahtarlarını görüntüleme
Ardından kaynak grubundaki Azure Uygulaması Hizmeti'ne gidin. App Service'in Uygulama Ayarlar görüntülemek için Yapılandırma sekmesine tıklayın. Uygulama Ayarlar, Azure Cosmos DB hesabına ve Azure Cosmos DB'ye bağlanmak için gereken birincil anahtar değerlerinin yanı sıra şablon dağıtımından geçirilen veritabanı ve kapsayıcı adlarını içerir.
Dağıtım Merkezi'nde web uygulamasını görüntüleme
Ardından App Service için Dağıtım Merkezi'ne gidin. Burada GitHub deposuna ait depo noktalarının şablona geçirildiğini göreceksiniz. Ayrıca aşağıdaki Durum, Uygulamanın başarıyla dağıtılıp başlatılacağı anlamına gelen Success(Active) değerini gösterir.
Web uygulamasını çalıştırma
Web uygulamasını açmak için Dağıtım Merkezi'nin üst kısmındaki Gözat'a tıklayın. Web uygulaması giriş ekranına açılır. Yeni Oluştur'a tıklayın, alanlara veri girin ve Kaydet'e tıklayın. Elde edilen ekranda Azure Cosmos DB'ye kaydedilen veriler gösterilir.
3. Adım: Nasıl çalışır?
Bunun çalışması için gereken üç öğe vardır.
Çalışma zamanında uygulama ayarlarını okuma
İlk olarak, uygulamanın ASP.NET MVC web uygulamasında sınıfında Startup
Azure Cosmos DB uç noktasını ve anahtarını istemesi gerekir. Azure Cosmos DB Yapılacaklar Örneği yerel olarak çalıştırılabilir ve burada bağlantı bilgilerini appsettings.json girebilirsiniz. Ancak, dağıtıldığında bu dosya uygulamayla birlikte dağıtılır. Kırmızı renkli bu çizgiler ayarlara appsettings.json erişemezse, Azure Uygulaması Hizmeti'ndeki Uygulama Ayarlar'ndan dener.
Özel Azure Kaynak Yönetimi işlevlerini kullanma
Bu değerlerin dağıtıldığında uygulamanın kullanımına sunulması için Azure Resource Manager şablonu, Azure Cosmos DB hesabından değerleri alan ve yukarıdaki '{bölümünde kullanılanlarla eşleşen anahtar adlarıyla uygulama ayarları değerlerine ekleyen başvuru ve listKey'ler dahil olmak üzere özel Azure Kaynak Yönetimi işlevlerini kullanarak Azure Cosmos DB hesabından bu değerleri isteyebilir: key}' biçimi. Örneğin, CosmosDb:Account
.
GitHub'dan web uygulamaları dağıtma
Son olarak, Web uygulamasını GitHub'dan App Service'e dağıtmamız gerekir. Bu işlem aşağıdaki JSON kullanılarak yapılır. Dikkat edilmesi gereken iki şey bu kaynağın türü ve adıdır. "type": "sourcecontrols"
Hem hem de "name": "web"
özellik değerleri sabit kodlanmıştır ve değiştirilmemelidir.
Sonraki adımlar
Tebrikler! Azure Cosmos DB, Azure Uygulaması Hizmeti ve Azure Cosmos DB'ye bağlanmak için gerekli bağlantı bilgilerini otomatik olarak içeren örnek bir web uygulamasını tek bir işlemle ve hassas bilgileri kesip yapıştırmak zorunda kalmadan dağıttınız. Bu şablonu başlangıç noktası olarak kullanarak kendi web uygulamalarınızı aynı şekilde dağıtacak şekilde değiştirebilirsiniz.
- Bu örneğe ilişkin Azure Resource Manager Şablonu için Azure Hızlı Başlangıç Şablonları Galerisi'ne gidin
- Örnek uygulamanın kaynak kodu için GitHub'da Azure Cosmos DB To Do Uygulaması'na gidin.