Harjoitus – Muodosta Bicep-tiedostosi uudelleen käyttämään moduuleja
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.
Tässä harjoituksessa päivität aiemmin luomasi Bicep-tiedoston, joten se käyttää moduulia Azure-sovelluspalvelun resursseille. Moduulit auttavat pitämään päätiedoston tarkoituksen selkeämpänä. Voit halutessasi käyttää sovelluspalvelumoduulia uudelleen muissa Bicep-tiedostoissa.
Prosessin aikana teet seuraavat:
- Lisää uusi moduuli ja siirrä siihen sovelluspalvelun resurssit.
- Viittaa moduuliin Bicep-päätiedostosta.
- Lisää tuloste sovelluspalvelusovelluksen isäntänimelle ja lähetä se moduulin ja Bicep-tiedoston käyttöönotoista.
- Testaa käyttöönottoa varmistaaksesi, että Bicep-tiedosto on kelvollinen.
Uuden moduulitiedoston lisääminen
Luo Visual Studio Codessa uusi kansio nimeltä moduulit samaan kansioon, johon loit main.bicep-tiedoston . Luo -kansiossa tiedosto nimeltä appService.bicep. Tallenna tiedosto.
Lisää seuraava sisältö appService.bicep -tiedostoon:
param location string param appServiceAppName string @allowed([ 'nonprod' 'prod' ]) param environmentType string var appServicePlanName = 'toy-product-launch-plan' var appServicePlanSkuName = (environmentType == 'prod') ? 'P2v3' : 'F1' resource appServicePlan 'Microsoft.Web/serverfarms@2024-04-01' = { name: appServicePlanName location: location sku: { name: appServicePlanSkuName } } resource appServiceApp 'Microsoft.Web/sites@2024-04-01' = { name: appServiceAppName location: location properties: { serverFarmId: appServicePlan.id httpsOnly: true } }Huomaa, että olet kopioinut parametrit ja muuttujat main.bicep Bicep -tiedostosta, koska appService.bicep Bicep -tiedoston on oltava itsenäinen.
Tallenna muutokset tiedostoon. Huomaa, että Visual Studio Code ei näytä punaisia koukelmia, jotka osoittaisivat varoituksia puuttuvista muuttujista, puuttuvista parametreista tai virheellisista resursseista.
Lisää viittaus moduuliin ylätason Bicep-tiedostosta
Nyt kun olet saanut täydellisen moduulin sovelluspalvelun resurssien käyttöönottoon, voit viitata -moduuliin pää-Bicep-tiedostossa. Koska moduuli ottaa käyttöön sovelluspalvelun resurssit, voit poistaa siihen liittyvät resurssit ja muuttujat päätiedostosta.
Poista main.bicep -tiedostosta sovelluspalvelun resurssit sekä
appServicePlanNamejaappServicePlanSkuName-muuttujamääritykset. Älä poista sovelluspalvelun parametreja, koska tarvitset niitä edelleen. Älä myöskään poista tallennustilin parametreja, muuttujia tai resursseja.Lisää seuraava Bicep-koodi main.bicep -tiedoston alareunaan:
module appService 'modules/appService.bicep' = { name: 'appService' params: { location: location appServiceAppName: appServiceAppName environmentType: environmentType } }Huomaa, että määrität moduulin parametrit viittaamalla pää-Bicep-tiedoston parametreihin.
Tallenna muutokset tiedostoon.
Lisää isäntänimi tulosteena
Lisää seuraava Bicep-koodi appService.bicep -tiedoston alareunaan:
output appServiceAppHostName string = appServiceApp.properties.defaultHostNameTämä koodi ilmoittaa, että tämän moduulin tuloste, jonka nimi on
appServiceAppHostName, on tyyppiästring. Tuloste saa arvonsa sovelluspalvelusovelluksendefaultHostName-ominaisuudesta.Tallenna muutokset tiedostoon.
Tämä tulos esitellään Bicep-tiedostossa, jota käytämme moduulina, joten se on vain pää-Bicep-tiedoston käytettävissä. Sinun on myös palautettava tuloste henkilölle, joka on ottanut tiedoston käyttöön.
Avaa main.bicep -tiedosto ja lisää seuraava koodi tiedoston alareunaan:
output appServiceAppHostName string = appService.outputs.appServiceAppHostNameHuomaa, että tämä tulos on määritetty samalla tavalla kuin moduulin tuloste. Tällä kertaa viittaat kuitenkin moduulin tulokseen resurssiominaisuuden sijaan.
Tallenna muutokset tiedostoon.
Vahvista Bicep-tiedostosi
Kun olet tehnyt kaikki edellä mainitut muutokset, main.bicep-tiedoston pitäisi näyttää tältä:
param location string = 'eastus'
param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
param appServiceAppName string = 'toylaunch${uniqueString(resourceGroup().id)}'
@allowed([
'nonprod'
'prod'
])
param environmentType string
var storageAccountSkuName = (environmentType == 'prod') ? 'Standard_GRS' : 'Standard_LRS'
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
location: location
sku: {
name: storageAccountSkuName
}
kind: 'StorageV2'
properties: {
accessTier: 'Hot'
}
}
module appService 'modules/appService.bicep' = {
name: 'appService'
params: {
location: location
appServiceAppName: appServiceAppName
environmentType: environmentType
}
}
output appServiceAppHostName string = appService.outputs.appServiceAppHostName
appService.bicep pitäisi näyttää tältä:
param location string
param appServiceAppName string
@allowed([
'nonprod'
'prod'
])
param environmentType string
var appServicePlanName = 'toy-product-launch-plan'
var appServicePlanSkuName = (environmentType == 'prod') ? 'P2v3' : 'F1'
resource appServicePlan 'Microsoft.Web/serverfarms@2024-04-01' = {
name: appServicePlanName
location: location
sku: {
name: appServicePlanSkuName
}
}
resource appServiceApp 'Microsoft.Web/sites@2024-04-01' = {
name: appServiceAppName
location: location
properties: {
serverFarmId: appServicePlan.id
httpsOnly: true
}
}
output appServiceAppHostName string = appServiceApp.properties.defaultHostName
Jos jompikumpi Bicep-tiedosto ei täsmää, kopioi esimerkki tai muuta tiedostosi esimerkkien mukaiseksi.
Päivitetyn Bicep-tiedoston käyttöönotto
Suorita seuraava Azure CLI -komento päätteessä.
az deployment group create \
--name main \
--template-file main.bicep \
--parameters environmentType=nonprod
Suorita seuraava Azure PowerShell -komento päätteessä.
New-AzResourceGroupDeployment `
-Name main `
-TemplateFile main.bicep `
-environmentType nonprod
Käyttöönoton tarkistaminen
Palaa selaimessa takaisin Azure-portaaliin. Siirry resurssiryhmääsi. Onnistunutta käyttöönottoa on nyt kaksi.
Valitse Onnistui -linkki 2. Huomaa, että luettelossa on käyttöönotto nimeltä tärkeimmät sekä uusi käyttöönotto nimeltä appService.
Valitse käyttöönotto nimeltä pää, ja laajenna käyttöön otettujen resurssien luettelo valitsemalla Käyttöönottotiedot.
Huomaa, että moduulin käyttöönotto näkyy luettelossa.
Valitse Tulosteet -välilehti. Huomaa, että tuloste on nimeltään appServiceAppHostName, jossa on sovelluspalvelusovelluksesi isäntänimi. Kopioi isännän nimi leikepöydälle.
Avaa uusi selainvälilehti ja liitä kopioimasi isäntänimi. Sinun pitäisi nähdä oletusarvoinen sovelluspalvelun aloitussivu.
Onnittelen! Olet ottanut onnistuneesti käyttöön perustukset hienolle sovellukselle.