Gyakorlat – Sablon specifikáció létrehozása és üzembe helyezése
Feljegyzés
Amikor első alkalommal aktivál egy tesztkörnyezetet, és elfogadja a feltételeket, a Microsoft-fiókja egy új, Microsoft Learn Sandbox nevű Azure-címtárhoz lesz társítva. Emellett hozzá lesz adva egy Concierge-előfizetés nevű speciális előfizetéshez is.
A csapat már egy ideje dolgozik az Azure-ral, és számos sablont hozott létre, amelyeket napi rendszerességgel használ. Úgy dönt, hogy egy sablont készít, és létrehoz egy sablon-specifikációt. Az Azure Cosmos DB-fiókok létrehozásához használt sablonnal kezdi.
A csapat úgy döntött, hogy a folyamatos biztonsági mentést az összes Azure Cosmos DB-fiókon konfigurálni kell. Ezért a sablon specifikációja alapján kiépített Azure Cosmos DB-fiókok alapértelmezett konfigurációjába szeretne biztonsági másolatokat felvenni.
Ebben a gyakorlatban az Azure Cosmos DB-sablont sablon-specifikációként kell közzétennie.
A folyamat során a következőt fogja elvégezni:
- Hozzon létre egy sablont, amelyet sablon-specifikációként fog használni.
- Frissítse a sablont, hogy a paraméterek könnyen érthetők és kezelhetők legyenek.
- Tegye közzé a sablon specifikációt.
- Ellenőrizze a sablon specifikációját az Azure Portalon.
- A sablon specifikációjának üzembe helyezése a teszteléshez.
- Ellenőrizze az üzembe helyezést.
Ez a gyakorlat a Visual Studio Code Bicep-bővítményét használja. Telepítse ezt a bővítményt a Visual Studio Code-ban.
A sablon létrehozása
Először a csapat által létrehozott sablonok egyikével kell kezdenie. A sablon üzembe helyez egy Azure Cosmos DB-fiókot, és konfigurálja a folyamatos biztonsági mentés engedélyezéséhez.
Nyissa meg a Visual Studio Code-ot.
Hozzon létre egy main.bicep nevű új fájlt.
Mentse az üres fájlt, hogy a Visual Studio Code betöltse a Bicep-eszközt.
Választhatja a Fájlmentés>másként lehetőséget, vagy a Ctrl+S billentyűkombinációt a Windowsban (⌘+S macOS rendszeren). Ne feledje, hogy hová mentette a fájlt. Előfordulhat például, hogy létre szeretne hozni egy szkriptmappát , amelybe mentené.
Másolja a következő kódot a main.bicep fájlba:
param location string = resourceGroup().location param cosmosDBAccountName string = 'toy-${uniqueString(resourceGroup().id)}' resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2021-04-15' = { name: cosmosDBAccountName kind: 'GlobalDocumentDB' location: location properties: { consistencyPolicy: { defaultConsistencyLevel: 'Session' } locations: [ { locationName: location failoverPriority: 0 isZoneRedundant: false } ] databaseAccountOfferType: 'Standard' enableAutomaticFailover: false enableMultipleWriteLocations: false backupPolicy: { type: 'Continuous' } } }
Figyelje meg, hogy be van állítva
backupPolicy
.Continuous
Ez az érték úgy konfigurálja az Azure Cosmos DB-t, hogy rendszeres időközönként készítsen biztonsági másolatot az adatairól.Mentse a fájlt.
Nyissa meg a Visual Studio Code-ot.
Hozzon létre egy azuredeploy.json nevű új fájlt.
Mentse az üres fájlt, hogy a Visual Studio Code betöltse az Azure Resource Manager-sablon (ARM-sablon) eszközkészletét.
Választhatja a Fájlmentés>másként lehetőséget, vagy a Ctrl+S billentyűkombinációt a Windowsban (⌘+S macOS rendszeren). Ne feledje, hogy hová mentette a fájlt. Előfordulhat például, hogy létre szeretne hozni egy szkriptmappát , amelybe mentené.
Másolja a következő kódot a azuredeploy.json:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "location": { "type": "string", "defaultValue": "[resourceGroup().location]" }, "cosmosDBAccountName": { "type": "string", "defaultValue": "[concat('toy-', uniqueString(resourceGroup().id))]" } }, "resources": [ { "type": "Microsoft.DocumentDB/databaseAccounts", "apiVersion": "2021-04-15", "name": "[parameters('cosmosDBAccountName')]", "kind": "GlobalDocumentDB", "location": "[parameters('location')]", "properties": { "consistencyPolicy": { "defaultConsistencyLevel": "Session" }, "locations": [ { "locationName": "[parameters('location')]", "failoverPriority": 0, "isZoneRedundant": false } ], "databaseAccountOfferType": "Standard", "enableAutomaticFailover": false, "enableMultipleWriteLocations": false, "backupPolicy": { "type": "Continuous" } } } ] }
Figyelje meg, hogy a következőt
Continuous
állítjabackupPolicy
be: . Ez az érték úgy konfigurálja az Azure Cosmos DB-t, hogy rendszeres időközönként készítsen biztonsági másolatot az adatairól.Mentse a fájlt.
A paraméterek könnyebb megértése
A sablon specifikációinak használatakor fontos megfontolni, hogy mások hogyan használják a sablont. Ez a felülvizsgálat különösen fontos a paraméterek esetében, mivel ezek a fő módja annak, hogy mások használják a kódot. A csapat sablonjában szereplő paraméterek nem tartalmaznak leírásokat vagy egyéb tippeket a használatuk módjáról, ezért ezeket az információkat itt adhatja meg.
Frissítse a
location
paraméterdefiníciót egy leírás hozzáadásával:@description('The Azure region into which the Cosmos DB resources should be deployed.') param location string = resourceGroup().location
Frissítse a
cosmosDBAccountName
paraméterdefiníciót egy leírás hozzáadásához, valamint a név minimális és maximális hosszának megadásához:@description('The name of the Cosmos DB account. This name must be globally unique, and it must only include lowercase letters, numbers, and hyphens.') @minLength(3) @maxLength(44) param cosmosDBAccountName string = 'toy-${uniqueString(resourceGroup().id)}'
Mentse a fájlt.
Frissítse a
location
paraméterdefiníciót egy leírás hozzáadásával:"location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "The Azure region into which the Cosmos DB resources should be deployed." } },
Frissítse a
cosmosDBAccountName
paraméterdefiníciót egy leírás hozzáadásához, valamint a név minimális és maximális hosszának megadásához:"cosmosDBAccountName": { "type": "string", "defaultValue": "[concat('toy-', uniqueString(resourceGroup().id))]", "maxLength": 44, "minLength": 3, "metadata": { "description": "The name of the Cosmos DB account. This name must be globally unique, and it must only include lowercase letters, numbers, and hyphens." } }
Mentse a fájlt.
Bejelentkezés az Azure-ba
Ha a sablont az Azure-ban szeretné üzembe helyezni, be kell jelentkeznie az Azure-fiókjába a Visual Studio Code termináljában. Győződjön meg arról, hogy telepítette az Azure CLI-t, és ne felejtsen el ugyanazzal a fiókkal bejelentkezni, mint a tesztkörnyezet aktiválásához.
Válassza a Terminál menü Új terminál pontját. A terminálablak általában a képernyő alsó felében nyílik meg.
Ha a terminálablak jobb oldalán látható rendszerhéj bash, a megfelelő rendszerhéj nyitva van, és a következő szakaszra ugorhat.
Ha nem bash rendszerhéj jelenik meg, válassza a rendszerhéj legördülő nyilat, majd válassza az Azure Cloud Shell (Bash) lehetőséget.
A terminálhéjak listájában válassza a bash lehetőséget.
A terminálban lépjen arra a könyvtárra, ahová a sablont mentette. Ha például a sablont a sablonok mappájába mentette, használhatja ezt a parancsot:
cd templates
A Bicep telepítése
Futtassa a következő parancsot a Bicep legújabb verziójának biztosításához:
az bicep install && az bicep upgrade
Bejelentkezés az Azure-ba
A Visual Studio Code terminálon jelentkezzen be az Azure-ba a következő parancs futtatásával:
az login
A megnyíló böngészőben jelentkezzen be az Azure-fiókjába.
A Visual Studio Code terminál megjeleníti a fiókhoz társított előfizetések listáját.
Állítsa be az alapértelmezett előfizetést az ebben a munkamenetben futtatott összes Azure CLI-parancshoz.
az account set --subscription "Concierge Subscription"
Feljegyzés
Ha a közelmúltban több tesztkörnyezetet is használt, előfordulhat, hogy a terminál több Concierge-előfizetés-példányt is megjelenít. Ebben az esetben a következő két lépéssel állítsa be az egyiket alapértelmezett előfizetésként. Ha az előző parancs sikeres volt, és csak egy Concierge-előfizetés szerepel a listában, hagyja ki a következő két lépést.
Kérje le a Concierge-előfizetések azonosítóit.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Az előfizetés azonosítójának segítségével állítsa be az alapértelmezett előfizetést. Cserélje a {your subscription ID} értékét a legutóbbi Concierge-előfizetés azonosítójára.
az account set --subscription {your subscription ID}
Az alapértelmezett erőforráscsoport beállítása
Az Azure CLI használatakor beállíthatja az alapértelmezett erőforráscsoportot, és kihagyhatja a paramétert a gyakorlat többi Azure CLI-parancsából. Állítsa be az alapértelmezett értéket a tesztkörnyezetben létrehozott erőforráscsoportra.
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
A sablon Azure-ban való üzembe helyezéséhez jelentkezzen be az Azure-fiókjába a Visual Studio Code terminálból. Győződjön meg arról, hogy telepítette az Azure PowerShellt, és jelentkezzen be ugyanarra a fiókra, amely aktiválta a tesztkörnyezetet.
Válassza a Terminál menü Új terminál pontját. A terminálablak általában a képernyő alsó felében nyílik meg.
Ha a terminálablak jobb oldalán látható rendszerhéj PowerShell vagy pwsh, a megfelelő rendszerhéj nyitva van, és a következő szakaszra ugorhat.
Ha nem PowerShell vagy pwsh rendszerhéj jelenik meg, válassza a rendszerhéj legördülő nyilat, majd válassza a PowerShellt.
A terminálhéjak listájában válassza a PowerShellt vagy a pwsh-t.
A terminálban lépjen arra a könyvtárra, ahová a sablont mentette. Ha például a sablont a sablonok mappájába mentette, használhatja ezt a parancsot:
Set-Location -Path templates
A Bicep parancssori felület telepítése
A Bicep Azure PowerShellből való használatához telepítse a Bicep CLI-t.
Bejelentkezés az Azure-ba az Azure PowerShell használatával
A Visual Studio Code terminálon futtassa a következő parancsot:
Connect-AzAccount
Megnyílik egy böngésző, amellyel bejelentkezhet az Azure-fiókjába.
Miután bejelentkezett az Azure-ba, a terminál megjeleníti a fiókhoz társított előfizetések listáját.
Ha aktiválta a tesztkörnyezetet, megjelenik egy Concierge-előfizetés nevű előfizetés. Használja a gyakorlat hátralévő részében.
Állítsa be az alapértelmezett előfizetést az ebben a munkamenetben futtatott összes Azure PowerShell-parancshoz.
$context = Get-AzSubscription -SubscriptionName 'Concierge Subscription' Set-AzContext $context
Feljegyzés
Ha a közelmúltban több tesztkörnyezetet is használt, előfordulhat, hogy a terminál több Concierge-előfizetés-példányt is megjelenít. Ebben az esetben a következő két lépéssel állítsa be az egyiket alapértelmezett előfizetésként. Ha az előző parancs sikeres volt, és csak egy Concierge-előfizetés szerepel a listában, hagyja ki a következő két lépést.
Kérje le az előfizetés azonosítóját. Az alábbi parancs futtatásával listázhatja az előfizetéseit és azonosítóit. Keresse meg
Concierge Subscription
, majd másolja ki az azonosítót a második oszlopból. Úgy néz ki, mintcf49fbbc-217c-4eb6-9eb5-a6a6c68295a0
.Get-AzSubscription
Módosítsa az aktív előfizetését Concierge-előfizetésre. Mindenképpen cserélje le {Az előfizetés azonosítója} elemet a másoltra.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Az alapértelmezett erőforráscsoport beállítása
Beállíthatja az alapértelmezett erőforráscsoportot, és kihagyhatja a paramétert a gyakorlat többi Azure PowerShell-parancsából. Állítsa be ezt az alapértelmezett beállítást a tesztkörnyezetben önnek létrehozott erőforráscsoportra.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Ha a sablont az Azure-ban szeretné üzembe helyezni, be kell jelentkeznie az Azure-fiókjába a Visual Studio Code termináljában. Győződjön meg arról, hogy telepítette az Azure CLI-t, és ne felejtsen el ugyanazzal a fiókkal bejelentkezni, mint a tesztkörnyezet aktiválásához.
Válassza a Terminál menü Új terminál pontját. A terminálablak általában a képernyő alsó felében nyílik meg.
Ha a terminálablak jobb oldalán látható rendszerhéj bash, a megfelelő rendszerhéj nyitva van, és a következő szakaszra ugorhat.
Ha nem bash rendszerhéj jelenik meg, válassza a rendszerhéj legördülő nyilat, majd válassza az Azure Cloud Shell (Bash) lehetőséget.
A terminálhéjak listájában válassza a bash lehetőséget.
A terminálban lépjen arra a könyvtárra, ahová a sablont mentette. Ha például a sablont a sablonok mappájába mentette, használhatja ezt a parancsot:
cd templates
Bejelentkezés az Azure-ba
A Visual Studio Code terminálon jelentkezzen be az Azure-ba a következő parancs futtatásával:
az login
A megnyíló böngészőben jelentkezzen be az Azure-fiókjába.
A Visual Studio Code terminál megjeleníti a fiókhoz társított előfizetések listáját.
Állítsa be az alapértelmezett előfizetést az ebben a munkamenetben futtatott összes Azure CLI-parancshoz.
az account set --subscription "Concierge Subscription"
Feljegyzés
Ha a közelmúltban több tesztkörnyezetet is használt, előfordulhat, hogy a terminál több Concierge-előfizetés-példányt is megjelenít. Ebben az esetben a következő két lépéssel állítsa be az egyiket alapértelmezett előfizetésként. Ha az előző parancs sikeres volt, és csak egy Concierge-előfizetés szerepel a listában, hagyja ki a következő két lépést.
Kérje le a Concierge-előfizetések azonosítóit.
az account list \ --refresh \ --query "[?contains(name, 'Concierge Subscription')].id" \ --output table
Az előfizetés azonosítójának segítségével állítsa be az alapértelmezett előfizetést. Cserélje a {your subscription ID} értékét a legutóbbi Concierge-előfizetés azonosítójára.
az account set --subscription {your subscription ID}
Az alapértelmezett erőforráscsoport beállítása
Az Azure CLI használatakor beállíthatja az alapértelmezett erőforráscsoportot, és kihagyhatja a paramétert a gyakorlat többi Azure CLI-parancsából. Állítsa be az alapértelmezett értéket a tesztkörnyezetben létrehozott erőforráscsoportra.
az configure --defaults group="<rgn>[sandbox resource group name]</rgn>"
A sablon Azure-ban való üzembe helyezéséhez jelentkezzen be az Azure-fiókjába a Visual Studio Code terminálból. Győződjön meg arról, hogy telepítette az Azure PowerShellt, és jelentkezzen be ugyanarra a fiókra, amely aktiválta a tesztkörnyezetet.
Válassza a Terminál menü Új terminál pontját. A terminálablak általában a képernyő alsó felében nyílik meg.
Ha a terminálablak jobb oldalán látható rendszerhéj PowerShell vagy pwsh, a megfelelő rendszerhéj nyitva van, és a következő szakaszra ugorhat.
Ha nem PowerShell vagy pwsh rendszerhéj jelenik meg, válassza a rendszerhéj legördülő nyilat, majd válassza a PowerShellt.
A terminálhéjak listájában válassza a PowerShellt vagy a pwsh-t.
A terminálban lépjen arra a könyvtárra, ahová a sablont mentette. Ha például a sablont a sablonok mappájába mentette, használhatja ezt a parancsot:
Set-Location -Path templates
Bejelentkezés az Azure-ba az Azure PowerShell használatával
A Visual Studio Code terminálon futtassa a következő parancsot:
Connect-AzAccount
Megnyílik egy böngésző, amellyel bejelentkezhet az Azure-fiókjába.
Miután bejelentkezett az Azure-ba, a terminál megjeleníti a fiókhoz társított előfizetések listáját.
Ha aktiválta a tesztkörnyezetet, megjelenik egy Concierge-előfizetés nevű előfizetés. Használja a gyakorlat hátralévő részében.
Állítsa be az alapértelmezett előfizetést az ebben a munkamenetben futtatott összes Azure PowerShell-parancshoz.
$context = Get-AzSubscription -SubscriptionName 'Concierge Subscription' Set-AzContext $context
Feljegyzés
Ha a közelmúltban több tesztkörnyezetet is használt, előfordulhat, hogy a terminál több Concierge-előfizetés-példányt is megjelenít. Ebben az esetben a következő két lépéssel állítsa be az egyiket alapértelmezett előfizetésként. Ha az előző parancs sikeres volt, és csak egy Concierge-előfizetés szerepel a listában, hagyja ki a következő két lépést.
Kérje le az előfizetés azonosítóját. Az alábbi parancs futtatásával listázhatja az előfizetéseit és azonosítóit. Keresse meg
Concierge Subscription
, majd másolja ki az azonosítót a második oszlopból. Úgy néz ki, mintcf49fbbc-217c-4eb6-9eb5-a6a6c68295a0
.Get-AzSubscription
Módosítsa az aktív előfizetését Concierge-előfizetésre. Mindenképpen cserélje le {Az előfizetés azonosítója} elemet a másoltra.
$context = Get-AzSubscription -SubscriptionId {Your subscription ID} Set-AzContext $context
Az alapértelmezett erőforráscsoport beállítása
Beállíthatja az alapértelmezett erőforráscsoportot, és kihagyhatja a paramétert a gyakorlat többi Azure PowerShell-parancsából. Állítsa be ezt az alapértelmezett beállítást a tesztkörnyezetben önnek létrehozott erőforráscsoportra.
Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
A sablon közzététele sablon-specifikációként
Tegye közzé a sablon specifikációját ezzel az Azure PowerShell-parancsmaggal a Visual Studio Code terminálban:
New-AzTemplateSpec `
-ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
-Name ToyCosmosDBAccount `
-Location westus `
-DisplayName 'Cosmos DB account' `
-Description "This template spec creates a Cosmos DB account that meets our company's requirements." `
-Version '1.0' `
-TemplateFile main.bicep
New-AzTemplateSpec `
-ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
-Name ToyCosmosDBAccount `
-Location westus `
-DisplayName 'Cosmos DB account' `
-Description "This template spec creates a Cosmos DB account that meets our company's requirements." `
-Version '1.0' `
-TemplateFile azuredeploy.json
Tegye közzé a sablon specifikációját ezzel az Azure CLI-paranccsal a Visual Studio Code terminálban:
az ts create \
--name ToyCosmosDBAccount \
--location westus \
--display-name "Cosmos DB account" \
--description "This template spec creates a Cosmos DB account that meets our company's requirements." \
--version 1.0 \
--template-file main.bicep
az ts create \
--name ToyCosmosDBAccount \
--location westus \
--display-name "Cosmos DB account" \
--description "This template spec creates a Cosmos DB account that meets our company's requirements." \
--version 1.0 \
--template-file azuredeploy.json
A sablon specifikációjának ellenőrzéséhez használja az Azure Portalt
Nyissa meg az Azure Portalt , és győződjön meg arról, hogy a tesztkörnyezet-előfizetésben van:
- Válassza ki az avatart az oldal jobb felső sarkában.
- Válassza a Címtár váltása lehetőséget. A listában válassza a Microsoft Learn-tesztkörnyezet címtárat.
A bal oldali panelen válassza az Erőforráscsoportok lehetőséget.
Válassza a
[tesztkörnyezeti erőforráscsoport neve] nevű erőforráscsoportot. Figyelje meg, hogy a sablon specifikációja szerepel az erőforrások listájában:Válassza a ToyCosmosDBAccount lehetőséget a sablon specifikációjának megnyitásához. A verziók és a sablonfájl látható.
A sablon specifikációjának üzembe helyezése
Az egyszerűség kedvéért a sablon specifikációját ugyanabba a tesztkörnyezeti erőforráscsoportba helyezi, amelyben a sablon specifikációja található. A sablon specifikációit általában egy másik erőforráscsoportban tárolja. A lépések azonban mindkét módon megegyeznek.
A sablon specifikációjának erőforrás-azonosítóját az alábbi Azure PowerShell-parancs futtatásával szerezheti be:
$templateSpecVersionResourceId = (` Get-AzTemplateSpec ` -ResourceGroupName <rgn>[sandbox resource group name]</rgn> ` -Name ToyCosmosDBAccount ` -Version 1.0 ` ).Versions[0].Id
Figyelje meg, hogy a tulajdonságot
Versions
használja. Sablonspektrális üzembe helyezésekor hivatkoznia kell a használni kívánt sablon-specifikáció adott verziójának erőforrás-azonosítójára.A sablon specifikációjának üzembe helyezése ezzel az Azure PowerShell-paranccsal a Visual Studio Code terminálban:
New-AzResourceGroupDeployment -TemplateSpecId $templateSpecVersionResourceId
A sablon specifikációverziójának erőforrás-azonosítóját az alábbi Azure CLI-parancs futtatásával szerezheti be:
id=$(az ts show \ --name ToyCosmosDBAccount \ --resource-group "<rgn>[sandbox resource group name]</rgn>" \ --version "1.0" \ --query "id")
A sablon specifikációjának üzembe helyezése ezzel az Azure CLI-paranccsal a Visual Studio Code terminálban:
az deployment group create --template-spec $id
Az üzembe helyezés befejezése akár egy-két percet is igénybe vehet.
Az üzembe helyezés ellenőrzése
A böngészőben lépjen vissza az Azure Portalra. Lépjen az erőforráscsoportra.
Az Üzemelő példányok mellett válassza az 1 Sikeres hivatkozás lehetőséget az üzembe helyezés részleteinek megtekintéséhez.
Válassza ki az üzembe helyezést.
Az üzembe helyezés neve eltérhet a példában szereplőtől.
Az üzembe helyezés részleteinek kiválasztásával bontsa ki. Ellenőrizze, hogy üzembe van-e helyezve egy Azure Cosmos DB-fiók.