Oefening: Azure Resource Manager-functies gebruiken om expressies te maken
Notitie
De eerste keer dat u een sandbox activeert en de voorwaarden accepteert, wordt uw Microsoft-account gekoppeld aan een nieuwe Azure-map met de naam Microsoft Learn-sandbox. U wordt toegevoegd aan een speciaal abonnement met de naam Concierge-abonnement.
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
.
In deze oefening gebruikt u de Azure Resource Manager Tools voor Visual Studio Code. Zorg ervoor dat u deze extensie installeert in Visual Studio Code.
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.
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.
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": "2019-06-01", "tags": { "displayName": "[parameters('storageName')]" }, "location": "[resourceGroup().location]", "kind": "StorageV2", "sku": { "name": "[parameters('storageSKU')]" } }], "outputs": {} }
Neem even de tijd om dit bestand te controleren als u de vorige module niet hebt voltooid. Onthoud de parameter
storageName
. Deze parameter is gebruikt om een unieke naam door te geven voor het opslagaccount.
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.
Wijzig in het gedeelte
parameters
storageName
in storagePrefix.Wijzig de waarde van het kenmerk
maxLength:
van de parameterstoragePrefix
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.Maak de expressie om de unieke naam voor het opslagaccount in te stellen. Wijzig in de sectie
resources
de waarden van de kernmerkenname:
endisplayName:
van"[parameters('storageName')]"
in '[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": "2019-06-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 u de Azure CLI-hulpprogramma's hebt geïnstalleerd. Zorg er ook voor dat u zich aanmeldt bij hetzelfde waarmee u de sandbox hebt geactiveerd.
Open een terminalvenster met behulp van het menu Terminal.
Als in de vervolgkeuzelijst aan de rechterkant van het terminalvenster bash wordt vermeld, hebt u de juiste shell om vanuit te werken. U kunt doorgaan naar de volgende sectie.
Als u niet over de juiste shell beschikt, selecteert u Standaardshell selecteren in de vervolgkeuzelijst.
Selecteer bash:
Selecteer + in de terminal om een nieuwe terminal met bash als shell te maken.
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
Wanneer u bent aangemeld, ziet u een lijst met de abonnementen die zijn gekoppeld aan het account in de terminal. Als u de sandbox hebt geactiveerd, ziet u er een met de naam Concierge-abonnement. U gebruikt deze voor de rest van de oefening.
Stel het standaardabonnement in voor alle Azure CLI-opdrachten die u tijdens deze sessie uitvoert:
az account set --subscription "Concierge Subscription"
Notitie
Als u onlangs meer dan één sandbox hebt gebruikt, wordt er mogelijk meer dan één Concierge-abonnement vermeld. In dit geval gebruikt u de volgende twee stappen om het standaardabonnement in te stellen. Als de bovenstaande opdracht is geslaagd, kunt u de volgende twee stappen overslaan.
De id's van het Concierge-abonnement verkrijgen:
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Stel het standaardabonnement in met behulp van de abonnements-id. Vervang
{your subscription ID}
door de meest recente Concierge-abonnements-id.az account set --subscription {your subscription ID}
De standaardresourcegroep instellen
Stel de standaardresourcegroep in op de resourcegroep die voor u is gemaakt in de sandboxomgeving. Zo kunt u deze parameter weglaten uit de rest van de Azure CLI-opdrachten in deze oefening.
az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
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 een 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 u de Azure PowerShell-hulpprogramma's hebt geïnstalleerd en dat u zich aanmeldt bij hetzelfde account waarmee u de sandbox hebt geactiveerd.
Open een terminalvenster met behulp van het menu Terminal.
Als in de vervolgkeuzelijst aan de rechterkant van het terminalvenster pwsh wordt vermeld, hebt u de juiste shell om vanuit te werken. U kunt doorgaan naar de volgende sectie.
Als u niet over de juiste shell beschikt, selecteert u Standaardshell selecteren in de vervolgkeuzelijst.
Selecteer pwsh.
Selecteer + in de terminal om een nieuwe terminal te maken met pwsh als shell.
Aanmelden bij Azure met behulp van Azure PowerShell
Voer in de terminal in Visual Studio Code de volgende opdracht uit om u aan te melden bij Azure. Wanneer u deze opdracht uitvoert, wordt u gevraagd een browser te openen naar een URL waarmee u zich kunt aanmelden bij uw account. Gebruik de code in de prompt. Zorg dat u zich aanmeldt met hetzelfde account waarmee u de sandbox hebt geactiveerd.
Connect-AzAccount
Wanneer u bent aangemeld, ziet u een lijst met de abonnementen die zijn gekoppeld aan het account in de terminal. Als u de sandbox hebt geactiveerd, ziet u er een met de naam Concierge-abonnement. U gebruikt deze voor de rest van de oefening.
Stel het standaardabonnement in voor alle Azure CLI-opdrachten die u tijdens deze sessie uitvoert.
Verkrijg de abonnements-id. Met de opdracht worden uw abonnementen en hun id's weergegeven. De abonnements-id is de tweede kolom. Zoek naar
Concierge Subscription
en kopieer de tweede kolom. Het ziet er ongeveer als volgt uit:aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
.Get-AzSubscription
Wijzig uw actieve abonnement naar het Concierge-abonnement. Zorg ervoor dat u vervangt door
{Your subscription ID}
de id die u hebt gekopieerd.$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Stel de standaardresourcegroep in op de resourcegroep die voor u is gemaakt in de sandboxomgeving. Zo kunt u deze parameter weglaten uit de rest van de Azure PowerShell-opdrachten in deze oefening.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
De sjabloon implementeren in Azure
U hebt geleerd over de implementatie-opdrachten in de vorige module. Hier gebruiken we de opdracht New-AzResourceGroupDeployment
in de Azure PowerShell.
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 een 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 sandbox-abonnement bevindt. Selecteer uw avatar in de rechterbovenhoek van de pagina om het abonnement te controleren. Selecteer Schakelen tussen directory's. In de lijst selecteert u de map Microsoft Learn Sandbox.
Selecteer Resourcegroepen in het linkerdeelvenster.
Selecteer
[naam sandboxresourcegroep] .In de sectie Overzicht ziet u dat er één implementatie is voltooid:
Selecteer 1 geslaagd om de details van de implementatie te bekijken:
Selecteer addfunction om te zien welke resources zijn geïmplementeerd:
Laat de pagina geopend in uw browser, zodat u de implementaties later in de module opnieuw kunt controleren.