Resources in een implementatiestack bijwerken
Naarmate een toepassing zich ontwikkelt, worden de resources ook uitgebreid. Hoe werken we een implementatiestack en de bijbehorende beheerde resources bij wanneer er nieuwe services en functies worden toegevoegd? In welke situaties moeten we een implementatiestack bijwerken?
De aanvraag voor deposito's ondergaat een aanzienlijke wijziging. Azure-resource-eigenschappen moeten worden gewijzigd, nieuwe resources moeten worden toegevoegd en bestaande resources moeten worden verwijderd. U moet meer weten over wanneer u een implementatiestack moet bijwerken en hoe u bestaande beheerde resources bijwerkt.
In deze les leert u welke situaties een update voor een implementatiestack aanroepen. U leert ook hoe u resources wijzigt die worden beheerd door een implementatiestack.
Notitie
De opdrachten in deze les worden weergegeven om concepten te illustreren. Voer de opdrachten nog niet uit. U oefent wat u hier binnenkort leert.
Een implementatiestack bijwerken
Na verloop van tijd veranderen de resources die een toepassing vormen. Eigenschappen van bestaande resources moeten worden gewijzigd, resources moeten worden toegevoegd of verwijderd of een toepassing moet resources integreren die zijn geïmplementeerd via andere methoden. Een implementatiestack kan worden bijgewerkt om de wijzigingen in onze toepassingen te implementeren. In welke situaties moeten we een implementatiestack bijwerken?
- De eigenschap van een beheerde resource wijzigen
- Een bestaande resource toevoegen als een beheerde resource
- Een nieuwe beheerde resource toevoegen
- Een beheerde resource loskoppelen
- Een beheerde resource verwijderen
Hoe worden deze wijzigingen geïmplementeerd? Zoals we in de laatste module hebben besproken, beheren implementatiestacks resources die zijn gedefinieerd in een Bicep-bestand, ARM JSON-sjabloon of sjabloonspecificatie. Wanneer u een implementatiestack maakt, verwijst u naar een van deze bestanden om uw resources te implementeren. Hetzelfde geldt voor het bijwerken van een implementatiestack. Werk het onderliggende sjabloonbestand bij om resources bij te werken die worden beheerd door een implementatiestack.
Een bestaande beheerde resource bijwerken
Het is gebruikelijk om uw resources te wijzigen die zijn geïmplementeerd in Azure. Mogelijk moet u een eigenschapswaarde van een resource wijzigen om een nieuwe functie op te nemen of de functionaliteit ervan te verbeteren. Als u momenteel infrastructuur als code gebruikt om uw resources in Azure te definiëren, bent u bekend met het wijzigen van de eigenschappen van een resource. Bij implementatiestacks is het proces identiek. Breng de wijziging aan in de resource in uw Bicep-bestand en voer een updatebewerking uit op de stack.
Laten we eens kijken naar ons Bicep-bestand uit de laatste module. Ons bestand definieert een App Service-plan, een web-app en een Azure SQL-server en -database. We willen de SKU van het App Service-plan wijzigen van de F1
SKU naar de S1
SKU.
// 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'
}
}
Nu het Bicep-bestand is gewijzigd, willen we de implementatiestack bijwerken, zodat de wijzigingen in de resources in het Bicep-bestand worden geïmplementeerd.
Gebruik de az stack group create
opdracht om een implementatiestack bij te werken met behulp van Azure CLI.
az stack group create \
--name stack-deposits \
--resource-group rg-depositsApplication \
--template-file ./main.bicep \
--action-on-unmanage detachAll \
--deny-settings-mode none
Nadat de stack-update is voltooid, willen we controleren of het App Service-plan nu wordt uitgevoerd op de S1
SKU.
Gebruik de az appservice plan show
opdracht om de configuratie van het App Service-plan weer te geven met behulp van Azure CLI
az appservice plan show \
--name plan-deposits
--resource-group rg-depositsApplication
In de uitvoer ziet u dat de update is geslaagd en dat het App Service-plan nu wordt uitgevoerd op de S1
SKU.
"sku": {
"capacity": 1,
"family": "S",
"name": "S1",
"size": "S1",
"tier": "Standard"
},
Nu het Bicep-bestand is gewijzigd, willen we de implementatiestack bijwerken, zodat de wijzigingen in de resources in het Bicep-bestand worden geïmplementeerd.
Als u een implementatiestack wilt bijwerken met behulp van Azure PowerShell, gebruikt u de Set-AzResourceGroupDeploymentStack
opdracht.
Set-AzResourceGroupDeploymentStack `
-Name stack-deposits `
-ResourceGroupName rg-depositsApplication `
-TemplateFile ./main.bicep `
-ActionOnUnmanage DetachAll `
-DenySettingsMode None
Nadat de stack-update is voltooid, willen we controleren of het App Service-plan nu wordt uitgevoerd op de S1
SKU.
Gebruik de Get-AzAppServicePlan
opdracht om de configuratie van het App Service-plan weer te geven met behulp van Azure PowerShell
$plan = Get-AzAppServicePlan `
-ResourceGroupName rg-depositsApplication `
-Name plan-deposits
$sku = $plan.Sku
$sku
In de uitvoer ziet u dat de update is geslaagd en dat het App Service-plan nu wordt uitgevoerd op de S1
SKU.
Name : S1
Tier : Standard
Size : S1
Family : S
Capacity : 1