Alıştırma - Alt kaynakları tanımlama

Tamamlandı

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:

  1. Visual Studio Code'u açın.

  2. main.bicep adlı yeni bir dosya oluşturun.

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

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

  5. Dosyadaki değişiklikleri kaydedin.

Veritabanı ekleyin

Ardından, Azure Cosmos DB hesabının alt kaynağı olan veritabanını oluşturursunuz.

  1. Dosyanın en üstüne, mevcut iki parametrenin arasına aşağıdaki parametreyi ekleyin:

    param cosmosDBDatabaseThroughput int = 400
    
  2. Parametre bildirimlerinin altına aşağıdaki değişkeni ekleyin:

    var cosmosDBDatabaseName = 'FlightTests'
    
  3. 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.

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

  1. 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'
    
  2. 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 containersait olduğunu anladığı için kısa bir kaynak türü kullandığınıza dikkat edin. Bicep, tam kaynak türünün olduğunu Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containersbilir. API sürümü belirtmediğiniz için Bicep üst kaynak 2020-04-01olan 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: {}
        }
      }
    }
    
  3. 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.

  1. Terminal menüsünde Yeni Terminal’i seçin. Terminal penceresi genellikle ekranınızın alt yarısında açılır.

  2. Terminal penceresinin sağ tarafında gösterilen kabuk bash ise, doğru kabuk açıktır ve sonraki bölüme atlayabilirsiniz.

    Screenshot of the Visual Studio Code terminal window, with the bash option shown.

  3. Bash dışında bir kabuk görüntülenirse, kabuk açılan okunu ve ardından Git Bash'i seçin.

    Screenshot of the Visual Studio Code terminal window, with the terminal shell dropdown shown and Git Bash Default selected.

  4. Terminal kabukları listesinde bash'i seçin.

    Screenshot of the Visual Studio Code terminal window, with the bash terminal selected.

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

  1. Visual Studio Code terminalinde aşağıdaki komutu çalıştırarak Azure'da oturum açın:

    az login
    
  2. 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.

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

  4. Concierge Aboneliği kimliklerini alın.

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. 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.

  1. Terminal menüsünde Yeni Terminal’i seçin. Terminal penceresi genellikle ekranınızın alt yarısında açılır.

  2. Terminal penceresinin sağ tarafında gösterilen kabuk powershell veya pwsh ise, doğru kabuk açıktır ve sonraki bölüme atlayabilirsiniz.

    Screenshot of the Visual Studio Code terminal window, with the pwsh option displayed in the shell dropdown list.

  3. PowerShell veya pwsh dışında bir kabuk görünürse, kabuk açılan okunu ve ardından PowerShell'i seçin.

    Screenshot of the Visual Studio Code terminal window, with the terminal shell dropdown list shown and PowerShell selected.

  4. Terminal kabukları listesinde powershell veya pwsh seçeneğini belirleyin.

    Screenshot of the Visual Studio Code terminal window, with the PowerShell terminal selected.

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

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

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

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

  4. Abonelik kimliğini alın. Aşağıdaki komutu çalıştırdığınızda abonelikleriniz ve bunların kimlikleri listelenir. öğesini bulun Concierge Subscriptionve ikinci sütundaki kimliği kopyalayın. şuna cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0benzer.

    Get-AzSubscription
    
  5. 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

  1. Azure portalına gidin ve korumalı alan aboneliğinde olduğunuzdan emin olun:

    1. Sayfanın sağ üst köşesindeki avatarınızı seçin.

    2. Dizini değiştir’i seçin. Listede Microsoft Learn Korumalı Alan dizinini seçin.

  2. Giriş sayfasında Kaynak grupları'nı seçin. Kaynak grupları bölmesi görüntülenir.

  3. [sandbox resource group name] öğesini seçin.

  4. Genel Bakış'ta bir dağıtımın başarılı olduğunu görebilirsiniz.

    Screenshot of the Azure portal interface for the resource group overview, with the deployments section showing that one succeeded.

  5. Dağıtımın ayrıntılarını görmek için 1 Başarılı seçeneğini belirleyin.

    Screenshot of the Azure portal interface for the deployments, with the one deployment listed and a succeeded status.

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

    Screenshot of the Azure portal interface for the specific deployment, with three Cosmos DB resources listed.

  7. Daha sonra dağıtımları yeniden denetleyebilmeniz için sayfayı tarayıcınızda açık bırakın.