Oefening: Azure Resource Manager-functies gebruiken om expressies te maken

Voltooid

In deze oefening gaat u een expressie maken met de ARM-sjabloonfuncties (Azure Resource Manager). Met deze expressie wordt een unieke naam gemaakt voor elke resourcegroep door een voorvoegsel in te voeren met een hash van de resourcegroep-id. Dit resulteert in Azure-opslagaccountnamen als dev2hu6sbtr5 en staging5his8hgr67.

Notitie

Deze oefening is optioneel. Als u deze oefening wilt voltooien, moet u een Azure-abonnement maken voordat u begint. Als u geen Azure-account hebt of als u er op dit moment geen wilt maken, kunt u de instructies doorlezen zodat u de informatie begrijpt die wordt gepresenteerd.

Het ARM-sjabloonbestand maken

In de vorige module hebt u een ARM-sjabloon gemaakt waarmee een opslagaccount is geïmplementeerd. U hebt parameters en een uitvoer naar dit bestand toegevoegd. Hier begint u met dat bestand, maar de uitvoer wordt verwijderd om de overhead te verminderen.

  1. Open Visual Studio Code en maak een bestand met de naam azuredeploy.json. Als u dit bestand uit de vorige module hebt, kunt u dit bestand gebruiken.

  2. Vervang de inhoud van het bestand door de volgende code:

    {
      "$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": "2025-01-01",
          "tags": {
            "displayName": "[parameters('storageName')]"
          },
          "location": "[resourceGroup().location]",
          "kind": "StorageV2",
          "sku": {
            "name": "[parameters('storageSKU')]"
          }
        }
      ],
      "outputs": {}
    }
    
  3. Neem even de tijd om dit bestand te controleren als u de vorige module niet hebt voltooid. Let op: de storageName parameter wordt gebruikt om een unieke naam voor het opslagaccount door te geven.

Een expressie maken om een unieke naam voor het opslagaccount in te stellen

In plaats van de naam van het opslagaccount door te geven, wijzigt u de parameter om een voorvoegsel te gebruiken voor de naam van het opslagaccount. Deze parameter wordt doorgegeven aan de concat functie in uw expressie.

  1. Wijzig in de parameters sectie storageName naar storagePrefix.

  2. Wijzig de waarde van het maxLength: kenmerk van de storagePrefix parameter in 11. De maximale lengte voor de naam van een opslagaccount is 24 tekens, dus u wilt er zeker van zijn dat de toegevoegde hash van de functie die u maakt, niet langer dan 24 tekens heeft.

  3. Maak de expressie om de unieke naam voor het opslagaccount in te stellen. Wijzig in de resources sectie de waarden van de name: en displayName: kenmerken van "[parameters('storageName')]" naar "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Deze expressie is aan de orde geweest in de vorige les. Het bestand ziet er nu als volgt uit:

    {
      "$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": "2025-01-01",
          "tags": {
            "displayName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]"
          },
          "location": "[resourceGroup().location]",
          "kind": "StorageV2",
          "sku": {
            "name": "[parameters('storageSKU')]"
          }
        }
      ],
      "outputs": {}
    }
    

De ARM-sjabloon implementeren in Azure

Als u deze sjabloon wilt implementeren in Azure, moet u zich aanmelden bij uw Azure-account vanuit de Visual Studio Code-terminal. Zorg ervoor dat de Azure CLI-hulpprogramma's zijn geïnstalleerd.

  1. Selecteer Nieuwe terminal in het menu Terminal.

  2. Als in de vervolgkeuzelijst aan de rechterkant van het terminalvenster bash wordt weergegeven, hebt u de juiste shell om van te werken. U kunt doorgaan naar de volgende sectie.

    Een schermopname van het Visual Studio Code-terminalvenster met bash in de vervolgkeuzelijst.

    Als u niet over de juiste shell beschikt, selecteert u de pijl-omlaagknop en selecteert u Git Bash.

    Schermopname van de geselecteerde shelllijst in het visual Studio Code-terminalvenster.

  3. Navigeer naar de directory met het ARM-sjabloonbestand.

Aanmelden bij Azure

Voer in de terminal in Visual Studio Code de volgende opdracht uit om u aan te melden bij Azure. Als u deze opdracht uitvoert, wordt een browser geopend waarmee u zich kunt aanmelden bij uw account:

az login

Meld u aan bij uw account in het browservenster dat wordt geopend. Nadat u zich hebt aangemeld, wordt een lijst weergegeven met de abonnementen die aan dit account zijn gekoppeld in de terminal. Het standaardabonnement is gemarkeerd met een sterretje (*). Als u meerdere abonnementen hebt, selecteert u het abonnement dat u voor deze oefening wilt gebruiken.

De standaardresourcegroep maken en instellen

U moet een resourcegroep gebruiken om de stappen in deze oefening uit te voeren. U kunt een resourcegroep gebruiken die u al hebt gemaakt of u kunt voor deze oefening een nieuwe resourcegroep maken. Als u ervoor kiest om een nieuwe resourcegroep te maken, kunt u alle resources die u maakt gemakkelijker opschonen terwijl u de oefening voltooit. Als u een bestaande resourcegroep hebt en deze instelt als de standaardresourcegroep, kunt u deze sessie overslaan.

az group create --name <resource-group-name> --location <location>

Vervang <de naam> van de resourcegroep door een unieke naam voor uw resourcegroep. Vervang <de locatie> door de Azure-regio die het dichtst bij u ligt. Gebruik bijvoorbeeld eastus voor VS - oost.

Door de standaardresourcegroep in te stellen, kunt u die parameter weglaten uit de Azure CLI-opdrachten in deze oefening. Voer de volgende opdracht uit om de resourcegroep in te stellen.

az configure --defaults group="<resource-group-name>"

Vervang <de naam> van de resourcegroep door de naam van de resourcegroep.

De sjabloon implementeren in Azure

U hebt geleerd over de implementatie-opdrachten in de vorige module. Hier gebruiken we de opdracht az deployment group create in de Azure CLI.

  • Implementeer de sjabloon met behulp van Azure CLI-opdrachten in de Visual Studio Code-terminal. Vergeet niet om {your-prefix} te vervangen door een andere tekenreeks. U kunt bijvoorbeeld opslag gebruiken.

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

    In de eerste sectie van deze code stelt u Azure CLI-variabelen in voor het pad naar het sjabloonbestand dat u wilt implementeren en de naam van deze implementatie. Vervolgens hebt u de az deployment group create opdracht gebruikt om de sjabloon in Azure te implementeren.

    U ziet het bericht Running... in de terminal.

Als u deze sjabloon wilt implementeren in Azure, moet u zich aanmelden bij uw Azure-account vanuit de Visual Studio Code-terminal. Zorg ervoor dat de Azure PowerShell-hulpprogramma's zijn geïnstalleerd.

  1. Selecteer Nieuwe terminal in het menu Terminal.

  2. Als in de vervolgkeuzelijst aan de rechterkant van het terminalvenster pwsh wordt vermeld, hebt u de juiste shell om van te werken. U kunt doorgaan naar de volgende sectie.

    Een schermopname van het Visual Studio Code-terminalvenster met pwsh in de vervolgkeuzelijst.

    Als u niet over de juiste shell beschikt, selecteert u de pijl-omlaag en selecteert u PowerShell in de vervolgkeuzelijst.

    Schermopname van de geselecteerde shelllijst in het visual Studio Code-terminalvenster.

  3. Navigeer naar de directory met het ARM-sjabloonbestand.

Aanmelden bij Azure

Voer in de terminal in Visual Studio Code de volgende opdracht uit om u aan te melden bij Azure.

Connect-AzAccount

Meld u aan bij uw account in het browservenster dat wordt geopend (het browservenster kan achter het huidige venster worden geopend, minimaliseer het huidige venster om het te zien). Nadat u zich hebt aangemeld, wordt een lijst weergegeven met de abonnementen die aan dit account zijn gekoppeld in de terminal. Het standaardabonnement is gemarkeerd met een sterretje (*). Als u meerdere abonnementen hebt, selecteert u het abonnement dat u voor deze oefening wilt gebruiken.

De standaardresourcegroep maken en instellen

U moet een resourcegroep gebruiken om de stappen in deze oefening uit te voeren. U kunt een resourcegroep gebruiken die u al hebt gemaakt of u kunt voor deze oefening een nieuwe resourcegroep maken. Als u ervoor kiest om een nieuwe resourcegroep te maken, kunt u alle resources die u maakt gemakkelijker opschonen terwijl u de oefening voltooit. Als u een bestaande resourcegroep hebt en deze instelt als de standaardresourcegroep, kunt u deze sessie overslaan.

New-AzResourceGroup -Name <ResourceGroupName> -Location <Location>

Vervang door een unieke naam voor uw resourcegroep. Vervang door de Azure-regio die het dichtst bij u in de buurt is. Gebruik bijvoorbeeld eastus voor VS - oost.

Door de standaardresourcegroep in te stellen, kunt u die parameter weglaten uit de Azure CLI-opdrachten in deze oefening. Voer de volgende opdracht uit om de resourcegroep in te stellen.

Set-AzDefault -ResourceGroupName <ResourceGroupName>

Vervang ResourceGroupName< door> de naam van de resourcegroep.

De sjabloon implementeren in Azure

Implementeer de sjabloon met behulp van Azure PowerShell-opdrachten in de Visual Studio Code-terminal. Vergeet niet om {your-prefix} te vervangen door een andere tekenreeks. U kunt bijvoorbeeld opslag gebruiken.

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

In de eerste sectie van deze code stelt u Azure PowerShell-variabelen in voor het pad naar het sjabloonbestand dat u wilt implementeren en de naam van de implementatie. Vervolgens hebt u de New-AzResourceGroupDeployment opdracht gebruikt om de sjabloon in Azure te implementeren.

Uw implementatie controleren

Wanneer de implementatie is voltooid, gaat u naar Azure Portal en controleert u of u zich in het juiste abonnement bevindt. Selecteer uw avatar in de rechterbovenhoek van de pagina om het abonnement te controleren. Selecteer Schakelen tussen mappen. Selecteer de juiste map in de lijst.

  1. Selecteer Resourcegroepen in het linkerdeelvenster.

  2. Selecteer de naam van de resourcegroep.

  3. In de sectie Overzicht ziet u dat één implementatie is geslaagd:

    Schermopname van Azure Portal met het overzicht van de resourcegroep. In de sectie Implementaties ziet u dat één implementatie is geslaagd.

  4. Selecteer 1 Geslaagd om de details van de implementatie te bekijken:

    Schermopname van Azure Portal met implementaties. Eén implementatie wordt vermeld en heeft de status Geslaagd.

  5. Selecteer addfunction om te zien welke resources zijn geïmplementeerd:

    Schermopname van Azure Portal waarin wordt weergegeven dat het opslagaccount is geïmplementeerd.

  6. Laat de pagina geopend in uw browser, zodat u de implementaties later in de module opnieuw kunt controleren.