Cvičení – použití funkcí Azure Resource Manageru k vytváření výrazů

Dokončeno

Poznámka:

Při první aktivaci sandboxu a přijetí podmínek se váš účet Microsoft přidruží k novému adresáři Azure s názvem Microsoft Learn Sandbox. Vy se zařadíte do speciálního předplatného s názvem Concierge.

V tomto cvičení vytvoříte výraz pomocí funkcí šablony Azure Resource Manageru (ARM). Tento výraz vytvoří jedinečný název pro každou skupinu prostředků, a to spojením vstupu ve formě předpony s hodnotou hash ID skupiny prostředků. Výsledkem jsou názvy účtů úložiště Azure jako dev2hu6sbtr5 a staging5his8hgr67.

V tomto cvičení použijete nástroje Azure Resource Manageru pro Visual Studio Code. Nezapomeňte toto rozšíření do Visual Studio Codu nainstalovat.

Vytvoření souboru šablony ARM

V předchozím modulu jste vytvořili šablonu ARM, která nasadila účet úložiště. K tomuto souboru jste přidali parametry a výstup. Tady začnete s tímto souborem, ale výstup se odebere, aby se snížila režie.

  1. Otevřete Visual Studio Code a vytvořte soubor s názvem azuredeploy.json. Pokud tento soubor máte z předchozího modulu, můžete ho použít.

  2. Obsah souboru nahraďte tímto kódem:

    {
        "$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. Pokud jste předchozí modul nedokončili, věnujte chvilku tomu, abyste si soubor prošli. Všimněte si parametru storageName. Tento parametr slouží k předání jedinečného názvu účtu úložiště.

Vytvoření výrazu pro nastavení jedinečného názvu účtu úložiště

Místo předání názvu účtu úložiště změňte parametr tak, aby pro název účtu úložiště převzal předponu. Tento parametr se předá funkci ve výrazu concat .

  1. V oddílu parameters změňte storageName na storagePrefix.

  2. Hodnotu atributu maxLength: pro parametr storagePrefix změňte na 11. Maximální délka názvu účtu úložiště je 24 znaků, takže chcete mít jistotu, že přidaná hodnota hash z vytvořené funkce nezpůsobí, že název bude delší než 24.

  3. Vytvořte výraz pro nastavení jedinečného názvu účtu úložiště. V oddílu resources změňte hodnotu atributů name: a displayName: z "[parameters('storageName')]" na "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". S tímto výrazem jste se seznámili v předchozí lekci. Soubor by teď měl vypadat takto:

    {
        "$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": {}
    }
    

Nasazení šablony ARM do Azure

Pokud chcete tuto šablonu nasadit do Azure, musíte se přihlásit ke svému účtu Azure z terminálu editoru Visual Studio Code. Musíte mít nainstalované nástroje Azure CLI. A také se musíte přihlásit ke stejnému účtu, který aktivoval sandbox.

  1. Otevřete okno terminálu pomocí nabídky Terminal (Terminál).

  2. Pokud na pravé straně okna terminálu uvidíte rozevírací nabídku s položkou bash, máte správné prostředí pro práci. Můžete přeskočit na další část

    Snímek obrazovky s oknem terminálu editoru Visual Studio Code s položkou bash v rozevírací nabídce

  3. Pokud nemáte správné prostředí, vyberte v rozevírací nabídce možnost Vybrat výchozí prostředí .

  4. Vyberte bash:

    Snímek obrazovky s oknem terminálu editoru Visual Studio Code se seznamem pro výběr prostředí

  5. V terminálu vyberte +, abyste vytvořili nový terminál s prostředím bash.

Přihlášení k Azure

  1. V terminálu ve Visual Studio Codu se spuštěním následujícího příkazu přihlaste k Azure. Spuštěním tohoto příkazu otevřete prohlížeč, který vám umožní přihlásit se ke svému účtu:

    az login
    
  2. Po přihlášení se v terminálu zobrazí seznam předplatných přidružených k tomuto účtu. Pokud jste sandbox aktivovali, uvidíte předplatné s názvem Concierge Subscription. Používejte ho ve zbývající části cvičení.

  3. Nastavte výchozí předplatné pro všechny příkazy Azure CLI, které v této relaci spouštíte:

    az account set --subscription "Concierge Subscription"
    

    Poznámka:

    Pokud jste nedávno použili více než jeden sandbox, může seznam obsahovat více než jedno předplatné Concierge. V takovém případě podle následujících dvou kroků nastavte výchozí předplatné. Pokud byl výše uvedený příkaz úspěšný, následující dva kroky přeskočte.

  4. Získejte ID předplatného Concierge:

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. Nastavte výchozí předplatné pomocí ID předplatného. Nahraďte {your subscription ID} nejnovějším ID předplatného Concierge.

    az account set --subscription {your subscription ID}
    

Nastavení výchozí skupiny prostředků

  • Nastavte výchozí skupinu prostředků na skupinu prostředků, která je pro vás vytvořena v sandboxu. To vám umožní vynechat tento parametr ze zbývajících příkazů Azure CLI v tomto cvičení.

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

Nasazení šablony do Azure

S příkazy nasazení jste se seznámili v předchozím modulu. Tady používáme příkaz Azure CLI az deployment group create.

  • Nasaďte šablonu pomocí příkazů Azure CLI v terminálu editoru Visual Studio Code. Nezapomeňte nahradit {your-prefix} jiným řetězcem. Můžete použít třeba storage.

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

    V první části tohoto kódu nastavíte proměnné Azure CLI pro cestu k souboru šablony, kterou chcete nasadit, a název nasazení. Pak jste použili az deployment group create příkaz k nasazení šablony do Azure.

    Zpráva Running... by se měla zobrazit v terminálu.

Pokud chcete tuto šablonu nasadit do Azure, musíte se přihlásit ke svému účtu Azure z terminálu editoru Visual Studio Code. Musíte mít nainstalované nástroje Azure PowerShell a přihlásit se ke stejnému účtu, který aktivoval sandbox.

  1. Otevřete okno terminálu pomocí nabídky Terminal (Terminál).

  2. Pokud na pravé straně okna terminálu uvidíte rozevírací nabídku s položkou pwsh, máte správné prostředí pro práci. Můžete přeskočit na další část

    Snímek obrazovky s oknem terminálu editoru Visual Studio Code s položkou pwsh v rozevírací nabídce

  3. Pokud nemáte správné prostředí, vyberte v rozevírací nabídce možnost Vybrat výchozí prostředí .

  4. Vyberte pwsh.

    Snímek obrazovky s oknem terminálu editoru Visual Studio Code se seznamem pro výběr prostředí

  5. Výběrem + v terminálu vytvořte nový terminál s pwsh jako prostředí.

Přihlášení k Azure přes Azure PowerShell

  1. V terminálu ve Visual Studio Codu se spuštěním následujícího příkazu přihlaste k Azure. Když spustíte tento příkaz, zobrazí se výzva k otevření prohlížeče na adresu URL, která vám umožní přihlásit se ke svému účtu. Použijte kód z výzvy. Přihlaste se pomocí stejného účtu, který jste použili k aktivaci sandboxu.

    Connect-AzAccount
    
  2. Po přihlášení se v terminálu zobrazí seznam předplatných přidružených k tomuto účtu. Pokud jste sandbox aktivovali, uvidíte předplatné s názvem Concierge Subscription. Používejte ho ve zbývající části cvičení.

    Nastavte výchozí předplatné pro všechny příkazy Azure CLI, které v této relaci spouštíte.

  3. Zjistěte ID předplatného. Příkaz zobrazí seznam vašich předplatných a jejich ID. ID předplatného najdete ve druhém sloupci. Vyhledejte položku Concierge Subscription a zkopírujte druhý sloupec. Vypadá nějak takto: aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e.

    Get-AzSubscription
    
  4. Změňte svoje aktivní předplatné na Concierge Subscription. Nezapomeňte nahradit {Your subscription ID} zkopírovaným ID.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    
  5. Nastavte výchozí skupinu prostředků na skupinu prostředků, která je pro vás vytvořena v sandboxu. Tento krok vám umožní vynechat tento parametr ze zbývajících příkazů Azure PowerShellu v tomto cvičení.

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

Nasazení šablony do Azure

S příkazy nasazení jste se seznámili v předchozím modulu. Zde používáme příkaz New-AzResourceGroupDeployment Azure PowerShellu.

  • Nasaďte šablonu pomocí příkazů Azure PowerShellu v terminálu editoru Visual Studio Code. Nezapomeňte nahradit {your-prefix} jiným řetězcem. Můžete použít třeba storage.

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

V první části tohoto kódu nastavíte proměnné Azure PowerShellu pro cestu k souboru šablony, který chcete nasadit, a název nasazení. Pak jste použili New-AzResourceGroupDeployment příkaz k nasazení šablony do Azure.

Kontrola nasazení

Po dokončení nasazení přejděte na web Azure Portal a ujistěte se, že jste v předplatném sandboxu. Uděláte to tak, že vyberete svůj avatar v pravém horním rohu stránky. Vyberte Přepnout adresář. V seznamu vyberte adresář Microsoft Learn Sandbox.

  1. V levém podokně vyberte Skupiny prostředků.

  2. Vyberte [název skupiny prostředků sandboxu].

  3. V části Přehled vidíte, že jedno nasazení bylo úspěšné:

    Snímek obrazovky webu Azure Portal s přehledem skupiny prostředků Část Nasazení ukazuje, že jedno nasazení bylo úspěšné.

  4. Pokud chcete zobrazit podrobnosti o nasazení, vyberte možnost označující 1 úspěšné nasazení:

    Snímek obrazovky webu Azure Portal znázorňující nasazení V seznamu je uvedeno jedno nasazení a má stav Úspěch.

  5. Pokud chcete zjistit, jaké prostředky byly nasazeny, vyberte addfunction:

    Snímek obrazovky s webem Azure Portal, který zobrazuje nasazený účet úložiště.

  6. Nechte stránku otevřenou v prohlížeči, abyste se mohli znovu podívat na nasazení později v modulu.