Harjoitus – Muodosta Bicep-tiedostosi uudelleen käyttämään moduuleja

Valmis

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

  1. Luo Visual Studio Codessa uusi kansio nimeltä moduulit samaan kansioon, johon loit main.bicep-tiedoston . Luo -kansiossa tiedosto nimeltä appService.bicep. Tallenna tiedosto.

  2. 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.

  3. 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.

  1. Poista main.bicep -tiedostosta sovelluspalvelun resurssit sekä appServicePlanName ja appServicePlanSkuName -muuttujamääritykset. Älä poista sovelluspalvelun parametreja, koska tarvitset niitä edelleen. Älä myöskään poista tallennustilin parametreja, muuttujia tai resursseja.

  2. 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.

  3. Tallenna muutokset tiedostoon.

Lisää isäntänimi tulosteena

  1. Lisää seuraava Bicep-koodi appService.bicep -tiedoston alareunaan:

    output appServiceAppHostName string = appServiceApp.properties.defaultHostName
    

    Tämä koodi ilmoittaa, että tämän moduulin tuloste, jonka nimi on appServiceAppHostName, on tyyppiä string. Tuloste saa arvonsa sovelluspalvelusovelluksen defaultHostName-ominaisuudesta.

  2. 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.

  3. Avaa main.bicep -tiedosto ja lisää seuraava koodi tiedoston alareunaan:

    output appServiceAppHostName string = appService.outputs.appServiceAppHostName
    

    Huomaa, että tämä tulos on määritetty samalla tavalla kuin moduulin tuloste. Tällä kertaa viittaat kuitenkin moduulin tulokseen resurssiominaisuuden sijaan.

  4. 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

  1. Palaa selaimessa takaisin Azure-portaaliin. Siirry resurssiryhmääsi. Onnistunutta käyttöönottoa on nyt kaksi.

  2. Valitse Onnistui -linkki 2. Huomaa, että luettelossa on käyttöönotto nimeltä tärkeimmät sekä uusi käyttöönotto nimeltä appService.

    Näyttökuva käyttöönottojen Azure-portaalin käyttöliittymästä, jossa on kaksi käyttöönottoa lueteltuna ja onnistuneet tilat.

  3. 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.

    Näyttökuva tietyn käyttöönoton Azure-portaalin käyttöliittymästä, jossa näkyy yksi resurssi.

  4. 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.

    Näyttökuva tietyn käyttöönoton tulosteiden Azure-portaalin käyttöliittymästä.

  5. Avaa uusi selainvälilehti ja liitä kopioimasi isäntänimi. Sinun pitäisi nähdä oletusarvoinen sovelluspalvelun aloitussivu.

    Näyttökuva oletussovelluspalvelun aloitussivusta.

Onnittelen! Olet ottanut onnistuneesti käyttöön perustukset hienolle sovellukselle.