Alıştırma - Alt kaynakları tanımlama
Not
Korumalı alanı ilk kez etkinleştirdiğinizde ve koşulları kabul edişinizde, Microsoft hesabınız Microsoft Learn Korumalı Alanı adlı yeni bir Azure diziniyle ilişkilendirilir. Ayrıca Concierge Aboneliği adlı özel bir aboneliğe de eklenirsiniz.
Ar-Ge ekibinizin istekleri üzerinde çalışmaya başlıyorsunuz ve ilk olarak oyuncak insansız hava aracının test verileri için bir Azure Cosmos DB veritabanı oluşturmaya karar vereceksiniz. Bu alıştırmada Azure Cosmos DB hesabını ve biri özelliğini, diğeri iç içe kaynak olarak kullanarak parent
iki alt kaynak oluşturacaksınız.
İşlem sırasında şunlarız:
- Cosmos DB hesabı dağıtan bir Bicep dosyası oluşturun.
- Cosmos DB hesabının alt kaynakları olan bir veritabanı ve kapsayıcı ekleyin.
- Şablonu dağıtın ve dağıtımı doğrulayın.
Bu alıştırmada Visual Studio Code için Bicep uzantısı kullanılır. Visual Studio Code’da bu uzantıyı yüklediğinizden emin olun.
Azure Cosmos DB hesabı içeren bicep şablonu oluşturma
İlk olarak, Azure Cosmos DB hesabıyla yeni bir Bicep şablonu oluşturursunuz. Yapmak için:
Visual Studio Code'u açın.
main.bicep adlı yeni bir dosya oluşturun.
Visual Studio Code'un Bicep araçlarını yükleyebilmesi için boş dosyayı kaydedin.
Dosya>Farklı Kaydet'i seçebilir veya Windows'ta Ctrl+S tuşlarına basabilirsiniz (macOS'ta⌘+S). Dosyayı nereye kaydettiğinizi anımsadığınızdan emin olun. Örneğin, dosyayı kaydetmek için bir betik klasörü oluşturmak isteyebilirsiniz.
Dosyaya aşağıdaki içeriği ekleyin. Kopyalayıp yapıştırmak yerine el ile girmek iyi bir fikirdir. Bu şekilde, aracın Bicep dosyalarınızı yazmanıza nasıl yardımcı olduğunu görebilirsiniz.
param cosmosDBAccountName string = 'toyrnd-${uniqueString(resourceGroup().id)}' param location string = resourceGroup().location resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2020-04-01' = { name: cosmosDBAccountName location: location properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] } }
İpucu
Bicep, satır sonlarını nereye koyacağınız konusunda katıdır, bu nedenle satır sonlarını yalnızca burada gösterildiği yere eklediğinizden emin olun.
Bu Bicep şablonu, sonraki bölümde oluşturduğunuz üst kaynak olan bir Azure Cosmos DB hesabı dağıtır.
Dosyadaki değişiklikleri kaydedin.
Veritabanı ekleyin
Ardından, Azure Cosmos DB hesabının alt kaynağı olan veritabanını oluşturursunuz.
Dosyanın en üstüne, mevcut iki parametrenin arasına aşağıdaki parametreyi ekleyin:
param cosmosDBDatabaseThroughput int = 400
Parametre bildirimlerinin altına aşağıdaki değişkeni ekleyin:
var cosmosDBDatabaseName = 'FlightTests'
Aşağıdaki kaynak tanımını dosyanın en altına, Azure Cosmos DB hesabı kaynak tanımının altına ekleyin.
resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2020-04-01' = { parent: cosmosDBAccount name: cosmosDBDatabaseName properties: { resource: { id: cosmosDBDatabaseName } options: { throughput: cosmosDBDatabaseThroughput } } }
Bu kodun alt kaynak olan veritabanını özelliğini kullanarak dağıttığına
parent
dikkat edin. Ayrıca kodun api sürümü açıkça belirtilen tam kaynak türünü kullandığına da dikkat edin.Dosyadaki değişiklikleri kaydedin.
Kapsayıcı ekleme
Şimdi başka bir alt kaynak eklersiniz. Bu kez, özelliğini kullanmak parent
yerine iç içe kaynak olarak eklersiniz.
Dosyanın üst kısmında, değişken tanımının
cosmosDBDatabaseName
altına aşağıdaki değişkenleri ekleyin:var cosmosDBContainerName = 'FlightTests' var cosmosDBContainerPartitionKey = '/droneId'
Dosyanın alt kısmına, veritabanı kaynak tanımına ve kapanış ayracından (
}
önce) aşağıdaki iç içe kaynak tanımını ekleyin:resource container 'containers' = { name: cosmosDBContainerName properties: { resource: { id: cosmosDBContainerName partitionKey: { kind: 'Hash' paths: [ cosmosDBContainerPartitionKey ] } } options: {} } }
Bicep bunun üst kaynak türüne
containers
ait olduğunu anladığı için kısa bir kaynak türü kullandığınıza dikkat edin. Bicep, tam kaynak türünün olduğunuMicrosoft.DocumentDB/databaseAccounts/sqlDatabases/containers
bilir. API sürümü belirtmediğiniz için Bicep üst kaynak2020-04-01
olan sürümünü kullanır.İşiniz bittiğinde, tam Bicep şablonunuz şu örnekteki gibi görünmelidir:
param cosmosDBAccountName string = 'toyrnd-${uniqueString(resourceGroup().id)}' param cosmosDBDatabaseThroughput int = 400 param location string = resourceGroup().location var cosmosDBDatabaseName = 'FlightTests' var cosmosDBContainerName = 'FlightTests' var cosmosDBContainerPartitionKey = '/droneId' resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2020-04-01' = { name: cosmosDBAccountName location: location properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] } } resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2020-04-01' = { parent: cosmosDBAccount name: cosmosDBDatabaseName properties: { resource: { id: cosmosDBDatabaseName } options: { throughput: cosmosDBDatabaseThroughput } } resource container 'containers' = { name: cosmosDBContainerName properties: { resource: { id: cosmosDBContainerName partitionKey: { kind: 'Hash' paths: [ cosmosDBContainerPartitionKey ] } } options: {} } } }
Dosyadaki değişiklikleri kaydedin.
Şablonu Azure’a dağıtma
Bu şablonu Azure’a dağıtmak için, Visual Studio Code terminalinden Azure hesabınızda oturum açmanız gerekir. Azure CLI'yı yüklediğinizden emin olun ve korumalı alanı etkinleştirmek için kullandığınız hesapla oturum açmayı unutmayın.
Terminal menüsünde Yeni Terminal’i seçin. Terminal penceresi genellikle ekranınızın alt yarısında açılır.
Terminal penceresinin sağ tarafında gösterilen kabuk bash ise, doğru kabuk açıktır ve sonraki bölüme atlayabilirsiniz.
Bash dışında bir kabuk görüntülenirse, kabuk açılan okunu ve ardından Git Bash'i seçin.
Terminal kabukları listesinde bash'i seçin.
Terminalde, şablonunuzu kaydettiğiniz dizine gidin. Örneğin, şablonunuzu templates klasörüne kaydettiyseniz şu komutu kullanabilirsiniz:
cd templates
Bicep'i yükleme
Bicep'in en son sürümüne sahip olduğunuzdan emin olmak için aşağıdaki komutu çalıştırın:
az bicep install && az bicep upgrade
Azure'da oturum açma
Visual Studio Code terminalinde aşağıdaki komutu çalıştırarak Azure'da oturum açın:
az login
Açılan tarayıcıda Azure hesabınızda oturum açın.
Visual Studio Code terminali, bu hesapla ilişkili aboneliklerin listesini görüntüler.
Bu oturumda çalıştırdığınız tüm Azure CLI komutları için varsayılan aboneliği ayarlayın.
az account set --subscription "Concierge Subscription"
Not
Yakın zamanda birden fazla korumalı alan kullandıysanız terminalde birden fazla Concierge Aboneliği örneği görüntülenebilir. Bu durumda, varsayılan abonelik olarak bir tane ayarlamak için sonraki iki adımı kullanın. Yukarıdaki komut başarılı olursa ve yalnızca bir Concierge Aboneliği listeleniyorsa, sonraki iki adımı atlayın.
Concierge Aboneliği kimliklerini alın.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Abonelik kimliğini kullanarak varsayılan aboneliği ayarlayın. {your subscription ID} öğesini en son Concierge Aboneliği Kimliği ile değiştirin.
az account set --subscription {your subscription ID}
Varsayılan kaynak grubunu ayarlama
Azure CLI'yı kullandığınızda, varsayılan kaynak grubunu ayarlayabilir ve bu alıştırmadaki Azure CLI komutlarının geri kalanından parametresini atlayabilirsiniz. Varsayılan değeri korumalı alan ortamında sizin için oluşturulan kaynak grubuna ayarlayın.
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
Şablonu Azure’a dağıtma
Bicep şablonunu Azure'a dağıtmak için Visual Studio Code'daki terminalden aşağıdaki kodu çalıştırın. Başarılı bir dağıtım görmeden önce bu işlemin tamamlanması bir veya iki dakika sürebilir.
az deployment group create --template-file main.bicep
Bu şablonu Azure'a dağıtmak için Visual Studio Code terminalinden Azure hesabınızda oturum açın. Azure PowerShell'i yüklediğinizden emin olun ve korumalı alanı etkinleştiren hesapta oturum açın.
Terminal menüsünde Yeni Terminal’i seçin. Terminal penceresi genellikle ekranınızın alt yarısında açılır.
Terminal penceresinin sağ tarafında gösterilen kabuk powershell veya pwsh ise, doğru kabuk açıktır ve sonraki bölüme atlayabilirsiniz.
PowerShell veya pwsh dışında bir kabuk görünürse, kabuk açılan okunu ve ardından PowerShell'i seçin.
Terminal kabukları listesinde powershell veya pwsh seçeneğini belirleyin.
Terminalde, şablonunuzu kaydettiğiniz dizine gidin. Örneğin, şablonunuzu templates klasörüne kaydettiyseniz şu komutu kullanabilirsiniz:
Set-Location -Path templates
Bicep CLI'yi yükleme
Azure PowerShell'den Bicep'i kullanmak için Bicep CLI'yı yükleyin.
Azure PowerShell kullanarak Azure’da oturum açma
Visual Studio Code terminalinde aşağıdaki komutu çalıştırın:
Connect-AzAccount
Azure hesabınızda oturum açabilmeniz için bir tarayıcı açılır.
Azure'da oturum açtıktan sonra terminalde bu hesapla ilişkili aboneliklerin listesi görüntülenir.
Korumalı alanı etkinleştirdiyseniz Concierge Aboneliği adlı bir abonelik görüntülenir. Alıştırmanın geri kalanında kullanın.
Bu oturumda çalıştırdığınız tüm Azure PowerShell komutları için varsayılan aboneliği ayarlayın.
$context = Get-AzSubscription -SubscriptionName 'Concierge Subscription' Set-AzContext $context
Not
Yakın zamanda birden fazla korumalı alan kullandıysanız terminalde birden fazla Concierge Aboneliği örneği görüntülenebilir. Bu durumda, varsayılan abonelik olarak bir tane ayarlamak için sonraki iki adımı kullanın. Yukarıdaki komut başarılı olursa ve yalnızca bir Concierge Aboneliği listeleniyorsa, sonraki iki adımı atlayın.
Abonelik kimliğini alın. Aşağıdaki komutu çalıştırdığınızda abonelikleriniz ve bunların kimlikleri listelenir. öğesini bulun
Concierge Subscription
ve ikinci sütundaki kimliği kopyalayın. şunacf49fbbc-217c-4eb6-9eb5-a6a6c68295a0
benzer.Get-AzSubscription
Etkin aboneliğinizi Concierge Aboneliği olarak değiştirin. {Abonelik kimliğiniz} değerini kopyaladığınız kimlikle değiştirdiğinizden emin olun.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Varsayılan kaynak grubunu ayarlama
Bu alıştırmada azure powershell komutlarının geri kalanından varsayılan kaynak grubunu ayarlayabilir ve parametresini atlayabilirsiniz. Bu varsayılan değeri korumalı alan ortamında sizin için oluşturulan kaynak grubuna ayarlayın.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Şablonu Azure’a dağıtma
Terminalde aşağıdaki Azure PowerShell komutunu kullanarak şablonu Azure'a dağıtın. Başarılı bir dağıtım görmeden önce bu işlemin tamamlanması bir veya iki dakika sürebilir.
New-AzResourceGroupDeployment -TemplateFile main.bicep
Dağıtımı doğrulama
Azure portalına gidin ve korumalı alan aboneliğinde olduğunuzdan emin olun:
Sayfanın sağ üst köşesindeki avatarınızı seçin.
Dizini değiştir’i seçin. Listede Microsoft Learn Korumalı Alan dizinini seçin.
Giriş sayfasında Kaynak grupları'nı seçin. Kaynak grupları bölmesi görüntülenir.
[sandbox resource group name] öğesini seçin.Genel Bakış'ta bir dağıtımın başarılı olduğunu görebilirsiniz.
Dağıtımın ayrıntılarını görmek için 1 Başarılı seçeneğini belirleyin.
Dağıtılan kaynakları görmek için main adlı dağıtımı seçin ve ardından dağıtım ayrıntıları'nı seçerek genişletin. Bu durumda, bir Cosmos DB hesabı, veritabanı ve kapsayıcı listelenir.
Daha sonra dağıtımları yeniden denetleyebilmeniz için sayfayı tarayıcınızda açık bırakın.