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

Button to deploy the Resource Manager template to Azure.

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.

Screenshot of the template deployment UI

  • 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.

Resource Group

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.

Azure Cosmos DB Keys

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.

Application Settings

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.

Deployment Center

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.

Home Screen

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.

Screenshot shows a method with several string variables marked in red, including databaseName, containerName, account, and key.

Ö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.

Template Keys

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.

Deploy From GitHub

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.