Alıştırma - Azure Resource Manager işlevlerini kullanarak ifade oluşturma

Tamamlandı

Not

Bir korumalı alanı ilk kez etkinleştirip koşulları kabul ettiğinizde Microsoft hesabı, Microsoft Learn Sandbox adlı yeni bir Azure diziniyle ilişkilendirilir. Concierge Aboneliği adlı özel bir aboneliğe eklenmiş olursunuz.

Bu alıştırmada, Azure Resource Manager (ARM) şablonu işlevlerini kullanarak bir ifade oluşturacaksınız. Bu ifade, ön ek girişini, kaynak grubu kimliğinin karmasıyla birleştirerek her bir kaynak grubu için benzersiz bir ad oluşturur. dev2hu6sbtr5 ve staging5his8hgr67 gibi Azure depolama hesabı adlarıyla sonuçlanır.

Bu alıştırmada Visual Studio Code için Azure Resource Manager Araçları'nı kullanacaksınız. Visual Studio Code’da bu uzantıyı yüklediğinizden emin olun.

ARM şablonu dosyasını oluşturma

Bir önceki modülde, depolama hesabı dağıtan bir ARM şablonu oluşturdunuz. Bu dosyaya parametre ve çıktı eklediniz. Burada, bu dosyayla başlarsınız, ancak ek yükü azaltmak için çıkış kaldırılır.

  1. Visual Studio Code’u açın ve azuredeploy.json adlı bir dosya oluşturun. Önceki modülde oluşturduğunuz dosya duruyorsa onu da kullanabilirsiniz.

  2. Bu dosyanın içeriğini aşağıdaki kodla değiştirin:

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
           "storageName": {
               "type": "string",
               "minLength": 3,
               "maxLength": 24
           },
            "storageSKU": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS",
                    "Standard_RAGRS",
                    "Standard_ZRS",
                    "Premium_LRS",
                    "Premium_ZRS",
                    "Standard_GZRS",
                    "Standard_RAGZRS"
                ]
            }
       },
        "functions": [],
        "variables": {},
        "resources": [{
            "name": "[parameters('storageName')]",
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2019-06-01",
            "tags": {
                "displayName": "[parameters('storageName')]"
            },
            "location": "[resourceGroup().location]",
            "kind": "StorageV2",
            "sku": {
             "name": "[parameters('storageSKU')]"
           }
        }],
         "outputs": {}
    }
    
  3. Bir önceki modülü tamamlamadıysanız bu dosyayı gözden geçirmek için biraz zaman ayırın. storageName parametresine dikkat edin. Bu parametre, depolama hesabı için benzersiz bir ad geçirmek üzere kullanılmıştır.

Benzersiz depolama hesabı adı ayarlamak için bir ifade oluşturma

Depolama hesabının adını geçirmek yerine, parametresini depolama hesabı adı için bir ön ek alacak şekilde değiştirin. Bu parametre, ifadenizdeki işleve concat geçirilir.

  1. parameters bölümünde storageName girişini storagePrefix olarak değiştirin.

  2. storagePrefix parametresinin maxLength: özniteliğinin değerini 11 olarak değiştirin. Depolama hesabı adı için uzunluk üst sınırı 24 karakter olduğundan, oluşturduğunuz işlevden eklenen karmanın adın 24'ten uzun olmasına neden olmadığından emin olmak istiyorsunuz.

  3. Benzersiz depolama hesabı adını ayarlamak için ifadeyi oluşturun. resources bölümünde name: ve displayName: özniteliklerinin değerini "[parameters('storageName')]" yerine "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]" olarak ayarlayın. Bir önceki ünitede bu ifade hakkında bilgi edinmiştiniz. Bu adımda dosya şu dosya gibi görünmelidir:

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
           "storagePrefix": {
               "type": "string",
               "minLength": 3,
               "maxLength": 11
           },
            "storageSKU": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS",
                    "Standard_RAGRS",
                    "Standard_ZRS",
                    "Premium_LRS",
                    "Premium_ZRS",
                    "Standard_GZRS",
                    "Standard_RAGZRS"
                ]
            }
       },
        "functions": [],
        "variables": {},
        "resources": [{
            "name": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]",
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2019-06-01",
            "tags": {
                "displayName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]"
            },
            "location": "[resourceGroup().location]",
            "kind": "StorageV2",
            "sku": {
             "name": "[parameters('storageSKU')]"
           }
        }],
        "outputs": {}
    }
    

ARM şablonunu 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 araçlarının yüklenmiş olduğundan emin olun. Ayrıca, korumalı alanı etkinleştiren aynı hesapta oturum açtığınızdan da emin olun.

  1. Terminal menüsünü kullanarak bir terminal penceresi açın.

  2. Terminal penceresinin sağındaki açılan menüde bash yazıyorsa, çalışacağınız doğru kabuğa sahipsiniz demektir. Sonraki bölüme atlayabilirsiniz.

    A screenshot that shows the Visual Studio Code terminal window with bash in the drop-down menu.

  3. Doğru kabuğa sahip değilseniz, açılan menüden Varsayılan Kabuğu Seç'i seçin.

  4. Bash seçeneğini belirleyin:

    Screenshot that shows the select shell list in the Visual Studio Code terminal window.

  5. Kabuk olarak bash ile yeni bir terminal oluşturmak için terminalde + seçeneğini belirleyin.

Azure'da oturum açma

  1. Visual Studio Code’daki terminalden, Azure’da oturum açmak için şu komutu çalıştırın. Bu komutu çalıştırmak, hesabınızda oturum açmanıza olanak tanıyan bir tarayıcı açar:

    az login
    
  2. Oturum açtıktan sonra, terminalde bu hesapla ilişkili aboneliklerin listesini görürsünüz. Korumalı alanı etkinleştirdiyseniz, Concierge Aboneliği adlı bir korumalı alanı görürsünüz. Alıştırmanın geri kalanında bunu kullanın.

  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, birden fazla Concierge Aboneliği listeleniyor olabilir. Bu durumda, varsayılan aboneliği ayarlamak için sonraki iki adımı kullanın. Yukarıdaki komut başarılı olduysa, 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} değerini, en son Concierge Aboneliği kimliğiyle değiştirin.

    az account set --subscription {your subscription ID}
    

Varsayılan kaynak grubunu ayarlama

  • Varsayılan kaynak grubunu, korumalı alan ortamında sizin için oluşturulan kaynak grubuna ayarlayın. Böylece, bu alıştırmadaki Azure CLI komutlarının geri kalanından bu parametreyi atabilirsiniz.

    az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
    

Şablonu Azure’a dağıtma

Bir önceki modülde dağıtım komutları hakkında bilgi edindiniz. Burada Azure CLI az deployment group create komutunu kullanacağız.

  • Visual Studio Code terminalinde Azure CLI komutlarını kullanarak şablonu dağıtın. {your-prefix} yerine farklı bir dize yazmayı unutmayın. Örneğin depolama yazabilirsiniz.

    templateFile="azuredeploy.json"
    today=$(date +"%d-%b-%Y")
    DeploymentName="addfunction-"$today
    
    az deployment group create \
      --name $DeploymentName \
      --template-file $templateFile \
      --parameters storagePrefix={your-prefix}
    

    Bu kodun ilk kısmında, dağıtmak istediğiniz şablon dosyasının yolu için Azure CLI değişkenlerini ve dağıtımın adını belirlersiniz. Ardından, şablonu Azure'a az deployment group create dağıtmak için komutunu kullandınız.

    İletiyi Running... terminalde görmeniz gerekir.

Bu şablonu Azure’a dağıtmak için, Visual Studio Code terminalinden Azure hesabınızda oturum açmanız gerekir. Azure PowerShell araçlarını yüklediğinizden ve korumalı alanı etkinleştiren aynı hesapta oturum açtığınızdan emin olun.

  1. Terminal menüsünü kullanarak bir terminal penceresi açın.

  2. Terminal penceresinin sağındaki açılan menüde pwsh yazıyorsa, çalışacağınız doğru kabuğa sahipsiniz demektir. Sonraki bölüme atlayabilirsiniz.

    A screenshot that shows the Visual Studio Code terminal window with pwsh in the drop-down menu.

  3. Doğru kabuğa sahip değilseniz, açılan menüden Varsayılan Kabuğu Seç'i seçin.

  4. pwsh seçeneğini belirleyin.

    Screenshot that shows the select shell list in the Visual Studio Code terminal window.

  5. Kabuk olarak pwsh ile yeni bir terminal oluşturmak için terminalde öğesini seçin+.

Azure PowerShell kullanarak Azure’da oturum açma

  1. Visual Studio Code’daki terminalden, Azure’da oturum açmak için şu komutu çalıştırın. Bu komutu çalıştırdığınızda, hesabınızda oturum açmanıza olanak tanıyan bir URL'ye tarayıcı açmanız istenir. İstemdeki kodu kullanın. Korumalı alanı etkinleştirmek için kullandığınız hesapla oturum açtığınızdan emin olun.

    Connect-AzAccount
    
  2. Oturum açtıktan sonra, terminalde bu hesapla ilişkili aboneliklerin listesini görürsünüz. Korumalı alanı etkinleştirdiyseniz, Concierge Aboneliği adlı bir korumalı alanı görürsünüz. Alıştırmanın geri kalanında bunu kullanın.

    Bu oturumda çalıştırdığınız tüm Azure CLI komutları için varsayılan aboneliği ayarlayın.

  3. Abonelik kimliğini alın. komut, aboneliklerinizi ve bunların kimliklerini listeler. Abonelik kimliği, ikinci sütundur. Concierge Subscription öğesini bulun ve ikinci sütunu kopyalayın. Şuna benzer: cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0.

    Get-AzSubscription
    
  4. Etkin aboneliğinizi, Concierge Aboneliği olarak değiştirin. değerini kopyaladığınız kimlikle değiştirdiğinizden {Your subscription ID} emin olun.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    
  5. Varsayılan kaynak grubunu, korumalı alan ortamında sizin için oluşturulan kaynak grubuna ayarlayın. Böylece, bu alıştırmadaki Azure PowerShell komutlarının geri kalanından bu parametreyi atabilirsiniz.

    Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    

Şablonu Azure’a dağıtma

Bir önceki modülde dağıtım komutları hakkında bilgi edindiniz. Burada Azure PowerShell New-AzResourceGroupDeployment komutunu kullanacağız.

  • Visual Studio Code terminalinde Azure PowerShell komutlarını kullanarak şablonu dağıtın. {your-prefix} yerine farklı bir dize yazmayı unutmayın. Örneğin depolama yazabilirsiniz.

    $templateFile = "azuredeploy.json"
    $today=Get-Date -Format "MM-dd-yyyy"
    $deploymentName="addfunction-"+"$today"
    New-AzResourceGroupDeployment `
      -Name $deploymentName `
      -TemplateFile $templateFile `
      -storagePrefix {your-prefix}
    

Bu kodun ilk bölümünde, dağıtmak istediğiniz şablon dosyasının yolu ve dağıtımın adı için Azure PowerShell değişkenlerini ayarlarsınız. Ardından, şablonu Azure'a New-AzResourceGroupDeployment dağıtmak için komutunu kullandınız.

Dağıtımınızı denetleme

Dağıtım tamamlandığında Azure portalına gidin ve korumalı alan aboneliğinde olduğunuzdan emin olun. Aboneliği denetlemek için, sayfanın sağ üst köşesinde avatarınızı seçin. Dizini değiştir’i seçin. Listede Microsoft Learn Korumalı Alan dizinini seçin.

  1. Soldaki bölmede Kaynak grupları’nı seçin.

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

  3. Genel Bakış bölümünde bir dağıtımın başarılı olduğunu göreceksiniz:

    Screenshot of the Azure portal that shows the resource group overview. The Deployments section shows that one deployment succeeded.

  4. 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 that shows deployments. One deployment is listed and has a status of Succeeded.

  5. Hangi kaynakların dağıtıldığını görmek için addfunction seçeneğini belirleyin:

    Screenshot of the Azure portal that shows that the storage account deployed.

  6. Modülün ilerleyen bölümlerinde dağıtımları yeniden denetleyebilmeniz için sayfayı tarayıcınızda açık bırakın.