Harjoitus – Parametrien ja decorator-elementin lisääminen
Note
Tämä harjoitus on valinnainen. Jos haluat suorittaa tämän harjoituksen, sinun on luotava Azure-tilaus ennen aloittamista. Jos sinulla ei ole Azure-tiliä tai et halua luoda sellaista tällä hetkellä, voit lukea ohjeet läpi, jotta ymmärrät esitetyt tiedot.
Note
Sinun on käytettävä resurssiryhmää tämän harjoituksen vaiheiden suorittamiseen. Voit käyttää jo luomaasi resurssiryhmää tai luoda uuden resurssiryhmän erityisesti tätä harjoitusta varten. Jos päätät luoda uuden resurssiryhmän, luomiesi resurssien puhdistaminen helpottuu harjoituksen suorittamisen aikana. Jos sinulla ei ole aiemmin luotua resurssiryhmää tai haluat luoda uuden resurssiryhmän erityisesti tätä harjoitusta varten, voit luoda resurssiryhmän Azure-portaalin avulla Azure-portaalin ja Azure Resource Managerin avulla ohjeita tai luoda resurssiryhmän Azure CLI:n avulla noudattamalla ohjeita kohdassa Azure-resurssiryhmien hallinta Azure CLI:n avulla .
Osana henkilöstöhallintosovellukseen siirtymistä luot Bicep-mallin Azure-resurssien käyttöönottoa varten. Tässä harjoituksessa luot Azure-sovelluspalvelupaketin ja sovelluspalvelusovelluksen. Käytät koristeita jokaiseen parametriin varmistaaksesi, että ne sisältävät aina odottamiasi arvoja.
Prosessin aikana teet seuraavat tehtävät:
- Luo Bicep-tiedosto, joka sisältää parametreja ja muuttujia.
- Lisää parametreihin decorator-elementit.
- Testaa käyttöönotto ja varmista, että malli on kelvollinen.
Tässä harjoituksessa käytetään Bicep -laajennusta Visual Studio Code. Muista asentaa tämä laajennus Visual Studio Codeen.
Parametreja sisältävän Bicep-mallin luominen
Avaa Visual Studio Code.
Luo uusi tiedosto nimeltä main.bicep.
Tallenna tyhjä tiedosto, jotta Visual Studio Code lataa Bicep-työkalut.
Voit joko valita Tiedosto>Tallenna nimellä tai valita Ctrl+S Windowsissa (⌘+S macOS:ssä). Muista muistaa, mihin tallensit tiedoston. Voit esimerkiksi luoda komentosarjakansion , johon se tallennetaan.
Lisää seuraava sisältö tiedostoon. Otat mallin käyttöön pian. Anna sisältö itse kopioimisen ja liittämisen sijaan, jotta näet, miten työkalut auttavat kirjoittamaan Bicep-tiedostoja.
param environmentName string = 'dev' param solutionName string = 'toyhr${uniqueString(resourceGroup().id)}' param appServicePlanInstanceCount int = 1 param appServicePlanSku object = { name: 'F1' tier: 'Free' } param location string = 'eastus' var appServicePlanName = '${environmentName}-${solutionName}-plan' var appServiceAppName = '${environmentName}-${solutionName}-app'Olet luomassa useita parametreja, ja ne käyttävät eri tyyppien yhdistelmää. Määrität oletusarvot kullekin parametrille. Jotkin oletusarvot sisältävät merkkijonon interpolaation ja
uniqueString()funktion.Tip
uniqueString()funktio on hyödyllinen luotaessa globaalisti yksilöllisiä resurssinimiä. Se palauttaa merkkijonon, joka on sama kaikissa käyttöönotoissa samassa resurssiryhmässä, mutta erilainen, kun otat käyttöön eri resurssiryhmissä tai tilauksessa.Määrität myös muuttujia, jotka luovat Azure-sovelluspalvelusuunnitelman ja sovelluspalvelusovelluksen nimet. Niiden arvot sisältävät joitakin määrittämiesi parametrien arvoja. Käyttöönoton suorittava käyttäjä voi ohittaa parametriarvot, mutta muuttujien arvoja ei voi ohittaa.
Lisää Visual Studio Coden main.bicep-tiedostoon seuraava koodi tiedoston alareunaan:
resource appServicePlan 'Microsoft.Web/serverfarms@2024-04-01' = { name: appServicePlanName location: location sku: { name: appServicePlanSku.name tier: appServicePlanSku.tier capacity: appServicePlanInstanceCount } } resource appServiceApp 'Microsoft.Web/sites@2024-04-01' = { name: appServiceAppName location: location properties: { serverFarmId: appServicePlan.id httpsOnly: true } }Huomaa, että resurssit käyttävät määrittämiesi parametrien arvoja.
Tallenna muutokset tiedostoon.
Lisää parametrikuvauksia
Lisää Visual Studio Coden
@descriptionsisustaja suoraan jokaisen edellisessä tehtävässä luomasi parametrin yläpuolelle. Parametrien pitäisi näyttää tämän esimerkin kaltailta:@description('The name of the environment. This must be dev, test, or prod.') param environmentName string = 'dev' @description('The unique name of the solution. This is used to ensure that resource names are unique.') param solutionName string = 'toyhr${uniqueString(resourceGroup().id)}' @description('The number of App Service plan instances.') param appServicePlanInstanceCount int = 1 @description('The name and tier of the App Service plan SKU.') param appServicePlanSku object = { name: 'F1' tier: 'Free' } @description('The Azure region into which the resources should be deployed.') param location string = 'eastus'Tallenna muutokset tiedostoon.
Rajoita syötearvoja
Leluyrityksesi ottaa HR-sovelluksen käyttöön kolmessa ympäristössä: dev, testja prod. Rajoitat environmentName parametrin sallimaan vain nämä kolme arvoa.
Etsi parametri Visual Studio Coden
environmentName. Aseta@alloweddecorator sen@descriptiondecoratorin alle. Kun olet valmis, parametrin pitäisi näyttää tältä:@description('The name of the environment. This must be dev, test, or prod.') @allowed([ 'dev' 'test' 'prod' ]) param environmentName string = 'dev'Huomaa, että käytät
environmentName-parametrin parametriarvoa vaindev,testjaprod. Jos lisää ympäristöjä lisätään tulevaisuudessa, tämä luettelo on päivitettävä.Tallenna muutokset tiedostoon.
Rajoita syötteiden pituuksia
Resurssien nimet luodaan solutionName-parametrin avulla. Haluat pakottaa käyttöön vähimmäispituuden, joka on viisi merkkiä ja enimmäispituus 30 merkkiä.
Etsi parametri Visual Studio Coden
solutionName. Lisää@minLengthdecoratorin alle@maxLengthja@descriptiondecorator. Kun olet valmis, parametrin pitäisi näyttää tältä:@description('The unique name of the solution. This is used to ensure that resource names are unique.') @minLength(5) @maxLength(30) param solutionName string = 'toyhr${uniqueString(resourceGroup().id)}'Tallenna muutokset tiedostoon.
Numeeristen arvojen rajoittaminen
Varmista sitten, että appServicePlanInstanceCount-parametri sallii vain arvot 1–10.
Etsi parametri Visual Studio Coden
appServicePlanInstanceCount. Lisää@minValuedecoratorin alle@maxValueja@descriptiondecorator. Kun olet valmis, parametrin pitäisi näyttää tältä:@description('The number of App Service plan instances.') @minValue(1) @maxValue(10) param appServicePlanInstanceCount int = 1Tallenna muutokset tiedostoon.
Vahvista Bicep-tiedostosi
Kun olet tehnyt kaikki edellä mainitut muutokset, Bicep-tiedostosi pitäisi näyttää tältä:
@description('The name of the environment. This must be dev, test, or prod.')
@allowed([
'dev'
'test'
'prod'
])
param environmentName string = 'dev'
@description('The unique name of the solution. This is used to ensure that resource names are unique.')
@minLength(5)
@maxLength(30)
param solutionName string = 'toyhr${uniqueString(resourceGroup().id)}'
@description('The number of App Service plan instances.')
@minValue(1)
@maxValue(10)
param appServicePlanInstanceCount int = 1
@description('The name and tier of the App Service plan SKU.')
param appServicePlanSku object = {
name: 'F1'
tier: 'Free'
}
@description('The Azure region into which the resources should be deployed.')
param location string = 'eastus'
var appServicePlanName = '${environmentName}-${solutionName}-plan'
var appServiceAppName = '${environmentName}-${solutionName}-app'
resource appServicePlan 'Microsoft.Web/serverfarms@2024-04-01' = {
name: appServicePlanName
location: location
sku: {
name: appServicePlanSku.name
tier: appServicePlanSku.tier
capacity: appServicePlanInstanceCount
}
}
resource appServiceApp 'Microsoft.Web/sites@2024-04-01' = {
name: appServiceAppName
location: location
properties: {
serverFarmId: appServicePlan.id
httpsOnly: true
}
}
Jos näin ei ole, kopioi esimerkki tai säädä mallisi esimerkkisi mukaiseksi.
Bicep-mallin käyttöönotto Azuressa
Jos haluat ottaa tämän mallin käyttöön Azuressa, sinun on kirjauduttava sisään Azure-tilillesi Visual Studio Code -päätteestä. Muista asentaa Azure CLI - työkalut.
Valitse Pääte-valikostaUusi pääte. Päätteen ikkuna avautuu yleensä näytön alaosaan.
Jos pääteikkunassa näkyy bash oikealla puolella, se tarkoittaa, että oikea kuori on jo auki. Vaihtoehtoisesti jos näet bash-kuorikuvakkeen oikealla, voit valita sen käynnistääksesi liittymän.
Jos näkyviin tulee jokin muu komentotulkki kuin bash, valitse komentotulkin avattava nuoli ja valitse sitten Git Bash.
Siirry päätteessä hakemistoon, johon tallensit mallisi. Jos esimerkiksi tallensit mallin mallikansioon , voit käyttää tätä komentoa:
cd templates
Asenna Bicep
Suorita seuraava komento varmistaaksesi, että sinulla on Bicepin uusin versio:
az bicep install && az bicep upgrade
Kirjaudu Sisään Azureen Azuren komentorivikäyttöliittymän avulla
Kirjaudu Visual Studio Code -päätteessä Azureen suorittamalla seuraava komento:
az loginKirjaudu sisään avautuvassa selaimessa Azure-tilillesi.
Visual Studio Code -pääte näyttää luettelon tähän tiliin liittyvistä tilauksista.
Etsi luettelosta tilaus, jota haluat käyttää tässä harjoituksessa.
Jos et huomannut sisäänkirjautumisen luetteloa, voit käyttää seuraavaa katkelmia tilausten uudelleen luettelemiseen.
az account list --output tableMääritä oletustilaus kaikille Azure CLI -komennoille, joita suoritat tässä istunnossa.
az account set --subscription "Your Subscription Name or ID"
Mallin käyttöönotto Azuressa Azuren komentorivikäyttöliittymän avulla
Suorita seuraava koodi Visual Studio Coden päätteestä ottaaksesi Bicep-mallin käyttöön Azuressa. Sinun ei tarvitse määrittää parametriarvoja, koska niiden oletusarvot on määritetty. Tämän prosessin suorittaminen voi kestää minuutin tai pari, ja sen jälkeen näet onnistuneen käyttöönoton.
az deployment group create --name main --template-file main.bicep
näet Running... päätteessä.
Jos haluat ottaa tämän mallin käyttöön Azuressa, kirjaudu sisään Azure-tilillesi Visual Studio Code -päätteestä. Varmista, että olet asentanut Azure PowerShell -.
Valitse Pääte-valikostaUusi pääte. Päätteen ikkuna avautuu yleensä näytön alaosaan.
Jos pääteikkunassa näkyy pwsh tai powershell oikealla puolella, se tarkoittaa, että oikea komentotulkki on jo auki. Vaihtoehtoisesti jos näet PowerShell-liittymäkuvakkeen oikealla, voit valita sen käynnistääksesi liittymän.
Jos näkyviin tulee jokin muu liittymä kuin pwsh tai powershell , valitse komentotulkin avattava nuoli ja valitse sitten PowerShell.
Siirry päätteessä hakemistoon, johon tallensit mallisi. Jos esimerkiksi tallensit mallin mallikansioon , voit käyttää tätä komentoa:
Set-Location -Path templates
Asenna Bicep CLI
Jos haluat käyttää Bicepiä Azure PowerShellistä, asentaa Bicep CLI -.
Kirjaudu sisään Azureen Azure PowerShellin avulla
Kirjaudu Visual Studio Code -päätteessä Azureen suorittamalla seuraava komento:
Connect-AzAccountKirjaudu sisään avautuvassa selaimessa Azure-tilillesi.
Hae tässä harjoituksessa käytettävän tilauksen tunnus suorittamalla seuraava komento:
Get-AzSubscriptionTilaustunnus on toinen sarake. Kopioi toinen sarake. Se näyttää suunnilleen aaaa0aa-bb1b-cc2c-dd3d-eeeeee4e4e4e.
Määritä oletustilaus kaikille Azure PowerShell -komennoille, joita suoritat tässä istunnossa.
Set-AzContext -SubscriptionId {Your subscription ID}
Mallin käyttöönotto Azuressa PowerShellin avulla
Ota malli käyttöön Azuressa käyttämällä seuraavalla Azure PowerShell -komennolla päätteessä. Sinun ei tarvitse määrittää parametriarvoja, koska niiden oletusarvot on määritetty. Tämän prosessin suorittaminen voi kestää minuutin tai pari, ja sen jälkeen näet onnistuneen käyttöönoton.
New-AzResourceGroupDeployment -Name main -TemplateFile main.bicep
Käyttöönoton tarkistaminen
Mene Azure-portaaliin ja varmista, että olet oikeassa tilauksessa.
Valitse vasemmanpuoleisessa paneelissa Resurssiryhmät.
Valitse resurssiryhmän nimi.
Yleiskatsaus-kohdassa näet, että yksi käyttöönotto onnistui.
Valitse 1 onnistui, jos haluat nähdä käyttöönoton tiedot.
Valitse käyttöönotto nimeltä main, jotta näet, mitä resursseja on otettu käyttöön, ja laajenna se sitten valitsemalla Käyttöönoton tiedot . Tässä tapauksessa on olemassa sovelluspalvelusopimus ja sovellus.
Valitse vasemmasta valikosta Tulot.
Huomaa, että parametrit ja niiden arvot on lueteltu.
Jätä sivu auki selaimeen. Tarkistat käyttöönotot myöhemmin uudelleen.