Övning – Uppdatera och ta bort en distributionsstack
Du är på sprint 2 för det nya inlåningsprogrammet. Du vill testa uppdatering av distributionsstacken genom att definiera en Azure SQL-databas i Bicep-filen. Du vill kontrollera att stacken hanterar de nyligen definierade resurserna.
I den här övningen uppdaterar du Bicep-filen som du skapade tidigare för att inkludera nya resurser. Du kan också uppdatera och ta bort den distributionsstack som hanterar dina resurser.
- Uppdatera Bicep-filen så att den innehåller en Azure SQL-databas.
- Uppdatera distributionsstacken för att distribuera den nya databasen.
- Verifiera distributionsstackens hanterade resurser.
- Ta bort distributionsstacken och hanterade resurser.
- Verifiera borttagningen av distributionsstacken och de hanterade resurserna.
Uppdatera Bicep-filen så att den innehåller Azure SQL-databasen
Öppna filen main.bicep i Visual Studio Code.
Lägg till den markerade koden i avsnittet parametrar i filen:
// 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'
Lägg till följande kod längst ned i filen:
// 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' } }
Spara ändringarna i filen.
Uppdatera distributionsstacken
När Bicep-filen har uppdaterats vill vi uppdatera distributionsstacken så att den nya Azure SQL-databasen distribueras till miljön som en hanterad resurs.
Om du vill uppdatera distributionsstacken kör du följande kommando från terminalen i Visual Studio Code.
az stack group create \ --name stack-deposits \ --resource-group rg-depositsApplication \ --template-file ./main.bicep \ --action-on-unmanage deleteAll \ --deny-settings-mode none
Du får ett meddelande om att stacken redan finns i den aktuella prenumerationen. Om värdet för åtgärden för ohanterad parameter har ändrats varnar varningen dig om de nya värdena. Tryck på
y
, följt av "Retur".Du uppmanas att ange ett värde för
sqlServerAdminUserName
. Skapa ett namn för SQL Server-administratören följt av "Retur".Du uppmanas att ange ett värde för
sqlServerAdminPassword
. Skapa ett komplext lösenord för SQL Server-administratören följt av "Retur".
Vänta tills uppdateringsåtgärden har slutförts innan du går vidare till nästa uppgift.
När Bicep-filen har uppdaterats vill vi uppdatera distributionsstacken så att den nya Azure SQL-databasen distribueras till miljön som en hanterad resurs.
Om du vill uppdatera distributionsstacken kör du följande kommando från terminalen i Visual Studio Code.
Set-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -TemplateFile ./main.bicep ` -ActionOnUnmanage DeleteAll ` -DenySettingsMode none
Du uppmanas att ange ett värde för
sqlServerAdminUserName
. Skapa ett namn för SQL Server-administratören följt av "Retur".Du uppmanas att ange ett värde för
sqlServerAdminPassword
. Skapa ett komplext lösenord för SQL Server-administratören följt av "Retur".Vänta tills uppdateringsåtgärden har slutförts innan du går vidare till nästa uppgift.
Verifiera uppdateringen av distributionsstacken och de hanterade resurserna
När uppdateringen är klar vill vi verifiera att distributionsstacken hanterar Azure SQL-databasen. Om du vill visa konfigurationen av distributionsstacken kör du följande kommando från terminalen i Visual Studio Code.
az stack group show \
--resource-group rg-depositsApplication \
--name stack-deposits
Resultatet bör se bekant ut för följande utdata:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"bypassStackOutOfSyncError": null,
"correlationId": ".",
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deployments/stack-deposits",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT2M53.2734284S",
"error": null,
"failedResources": [],
"id": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deploymentStacks/stack-deposits",
"location": null,
"name": "stack-deposits",
"outputs": null,
"parameters": {
"sqlServerAdminPassword": {
"reference": null,
"type": "securestring",
"value": ""
},
"sqlServerAdminUserName": {
"reference": null,
"type": "string",
"value": "sqladmin"
}
},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "rg-depositsApplication",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-eque2jlrboltq",
"resourceGroup": "rg-depositsApplication",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-01-01T00:00:01.000000+00:00",
"createdBy": "depositsapplication@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-01-01T00:00:01.000000+00:00",
"lastModifiedBy": "depositsapplication@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": null,
"type": "Microsoft.Resources/deploymentStacks"
}
Observera resursavsnittet i utdata. Nu visas SQL-servern och SQL-databasen som hanterade resurser.
När uppdateringen är klar vill vi verifiera att distributionsstacken hanterar Azure SQL-databasen. Om du vill visa konfigurationen av distributionsstacken kör du följande kommando från terminalen i Visual Studio Code.
Get-AzResourceGroupDeploymentStack `
-ResourceGroupName rg-depositsApplication `
-Name stack-deposits
Resultatet bör se bekant ut för följande utdata:
Id : /subscriptions/././rg-depositsApplication/././deploymentStacks/stack-deposits
Name : stack-deposits
ProvisioningState : succeeded
resourcesCleanupAction : detach
resourceGroupsCleanupAction : detach
managementGroupsCleanupAction : detach
CorrelationId : .
DenySettingsMode : none
CreationTime(UTC) : 1/01/2024 0:00:01 AM
DeploymentId : /subscriptions/././rg-depositsApplication/././deployments/stack-deposits
Resources : /subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits
/subscriptions/././rg-depositsApplication/././sites/webapp-eque2jlrboltq
/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq
/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq
Parameters :
Name Type Value
======================== ========================= ==========
sqlServerAdminUserName string "sqladmin"
sqlServerAdminPassword securestring ""
Observera resursavsnittet i utdata. Nu visas SQL-servern och SQL-databasen som hanterade resurser.
Ta bort distributionsstacken
Om du vill ta bort distributionsstacken och dess hanterade resurser kör du följande kommando från terminalen i Visual Studio Code.
az stack group delete \ --name stack-deposits \ --resource-group rg-depositsApplication \ --action-on-unmanage deleteAll
Du uppmanas att bekräfta om du vill ta bort stacken och de angivna resurserna.
När borttagningen har slutförts öppnar du Azure Portal och kontrollerar att distributionsstacken och dess resurser har tagits bort.
Om du vill ta bort resursgruppen som används i de här övningarna kör du följande kommando från terminalen i Visual Studio Code.
az group delete \ -name rg-depositsApplication
Du uppmanas att bekräfta om du vill ta bort resursgruppen. Tryck på 'Y', följt av 'Retur'.
Om du vill ta bort distributionsstacken och dess hanterade resurser kör du följande kommando från terminalen i Visual Studio Code.
Remove-AzResourceGroupDeploymentStack ` -Name stack-deposits ` -ResourceGroupName rg-depositsApplication ` -ActionOnUnmanage DeleteAll
Du uppmanas att bekräfta om du vill ta bort stacken och de angivna resurserna.
När borttagningen har slutförts öppnar du Azure Portal och kontrollerar att distributionsstacken och dess resurser har tagits bort.
Om du vill ta bort resursgruppen som används i de här övningarna kör du följande kommando från terminalen i Visual Studio Code.
Remove-AzResourceGroup ` -Name rg-depositsApplication
Du uppmanas att bekräfta om du vill ta bort resursgruppen. Tryck på 'Y', följt av 'Retur'.