Uppdatera resurser i en distributionsstack
När ett program utvecklas, så gör även dess resurser det. Hur uppdaterar vi en distributionsstack och dess hanterade resurser när nya tjänster och funktioner läggs till? Vilka situationer kräver att vi uppdaterar en distributionsstack?
Inlåningsapplikationen genomgår betydande förändringar. Azure-resursegenskaper måste ändras, nya resurser måste läggas till och befintliga resurser måste tas bort. Du behöver lära dig mer om när du ska uppdatera en distributionsstack och hur du uppdaterar befintliga hanterade resurser.
I den här lektionen får du lära dig om vilka situationer som kräver en uppdatering av en distributionsstack. Du får också lära dig hur du ändrar resurser som hanteras av en distributionsstack.
Kommentar
Kommandona i den här enheten visas för att illustrera begrepp. Kör inte kommandona än. Du kommer att öva på det du lär dig här snart.
Uppdatera en distributionsstack
Med tiden ändras de resurser som utgör ett program. Egenskaper för befintliga resurser måste ändras, resurser måste läggas till eller tas bort, eller så måste ett program integrera resurser som har distribuerats via andra metoder. En distributionsstack kan uppdateras för att implementera ändringarna i våra program. Vilka situationer kräver att vi uppdaterar en distributionsstack?
- Ändra egenskapen för en hanterad resurs
- Lägga till en befintlig resurs som en hanterad resurs
- Lägga till en ny hanterad resurs
- Koppla från en hanterad resurs
- Ta bort en hanterad resurs
Hur implementeras dessa ändringar? Som vi diskuterade i den senaste modulen hanterar distributionsstackar resurser som definieras i en Bicep-fil, ARM JSON-mall eller mallspecifikation. När du skapar en distributionsstack refererar du till en av dessa filer för att distribuera dina resurser. Detsamma gäller för uppdatering av en distributionsstack. Uppdatera den underliggande mallfilen om du vill uppdatera resurser som hanteras av en distributionsstack.
Uppdatera en befintlig hanterad resurs
Det är vanligt att ändra dina resurser som distribueras i Azure. Du kan behöva ändra ett egenskapsvärde för en resurs för att införliva en ny funktion eller förbättra dess funktioner. Om du för närvarande använder infrastruktur som kod för att definiera dina resurser i Azure är du bekant med hur du ändrar egenskaperna för en resurs. Med distributionsstackar är processen identisk. Ändra resursen i Bicep-filen och kör en uppdateringsåtgärd på stacken.
Nu ska vi överväga vår Bicep-fil från den senaste modulen. Vår fil definierar en App Service-plan, en webbapp och en Azure SQL-server och databas. Vi vill ändra SKU:n för App Service-planen från F1
SKU:n till SKU:n S1
.
// Parameters
@description('The location for all resources.')
param location string = 'eastus'
@description('The name of the SQL database.')
param sqlDatabaseName string = 'sqldb-${uniqueString(resourceGroup().id)}'
@description('The password of the admin user.')
param sqlServerAdminUserName string
@description('The name of the admin user.')
@secure()
param sqlServerAdminPassword string
@description('The name of the SQL server.')
param sqlServerName string = 'sql-${uniqueString(resourceGroup().id)}'
@description('The name of the web application.')
param webApplicationName string = 'webapp-${uniqueString(resourceGroup().id)}'
// Variables
@description('The name of the app service plan.')
var appServicePlanName = 'plan-deposits'
// Resource - App Service Plan
resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
name: appServicePlanName
location: location
sku: {
name: 'S1'
capacity: 1
}
}
// Resource - Web App
resource webApplication 'Microsoft.Web/sites@2023-12-01' = {
name: webApplicationName
location: location
properties: {
serverFarmId: appServicePlan.id
}
}
// Resource - SQL Server
resource sqlServer 'Microsoft.Sql/servers@2021-11-01' ={
name: sqlServerName
location: location
properties: {
administratorLogin: sqlServerAdminUserName
administratorLoginPassword: sqlServerAdminPassword
}
}
// Resource - SQL Database
resource sqlServerDatabase 'Microsoft.Sql/servers/databases@2021-11-01' = {
parent: sqlServer
name: sqlDatabaseName
location: location
sku: {
name: 'Standard'
tier: 'Standard'
}
}
När Bicep-filen har ändrats vill vi uppdatera distributionsstacken så att de ändringar som görs i resurserna i Bicep-filen implementeras.
Om du vill uppdatera en distributionsstack med Hjälp av Azure CLI använder du az stack group create
kommandot .
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
När stackuppdateringen är klar vill vi kontrollera att App Service-planen nu körs på SKU:n S1
.
Om du vill visa konfigurationen av App Service-planen med hjälp av Azure CLI använder du az appservice plan show
kommandot
az appservice plan show \
--name plan-deposits
--resource-group rg-depositsApplication
Utdata visar oss att uppdateringen lyckades och att App Service-planen nu körs på SKU:n S1
.
"sku": {
"capacity": 1,
"family": "S",
"name": "S1",
"size": "S1",
"tier": "Standard"
},
När Bicep-filen har ändrats vill vi uppdatera distributionsstacken så att de ändringar som görs i resurserna i Bicep-filen implementeras.
Om du vill uppdatera en distributionsstack med Hjälp av Azure PowerShell använder du Set-AzResourceGroupDeploymentStack
kommandot .
Set-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
När stackuppdateringen är klar vill vi kontrollera att App Service-planen nu körs på SKU:n S1
.
Om du vill visa konfigurationen av App Service-planen med Hjälp av Azure PowerShell använder du Get-AzAppServicePlan
kommandot
$plan = Get-AzAppServicePlan `
-ResourceGroupName rg-depositsApplication `
-Name plan-deposits
$sku = $plan.Sku
$sku
Utdata visar oss att uppdateringen lyckades och att App Service-planen nu körs på SKU:n S1
.
Name : S1
Tier : Standard
Size : S1
Family : S
Capacity : 1