删除部署堆栈

已完成

你即将结束新存款应用程序的第 3 个冲刺。 你最近了解到如何从部署堆栈中拆离和删除资源。 在规划下一个冲刺时,你想要了解如何删除部署堆栈,以及该操作对于托管和非托管资源的意义。

在本单元中,你将了解如何删除部署堆栈。

注意

本单元中显示的命令用于说明概念。 请暂时不要运行这些命令。 稍后你将练习在此处学到的知识。

删除部署堆栈

部署堆栈是一种本机 Azure 资源,可充当堆栈管理的资源的一系列指针。 资源(也称为托管资源)是在 Bicep 文件、ARM JSON 模板或模板规格中定义的。

不再需要部署堆栈时,可以将其删除。 但为什么删除部署堆栈? 也许你在临时环境中工作,并使用部署堆栈在单个命令中部署和拆除环境。 也许你要部署应用程序的新版本,并且需要移除以前的版本。

如简介模块中所述,部署堆栈的优点之一是可靠的资源清理。 借助部署堆栈,可以通过单个 API 调用删除堆栈及其所有托管资源,而无需了解堆栈中资源之间的依赖关系。 此单一移除操作会以可靠的方式移除资源,并提高移除速度。 即使资源跨越多个资源组或订阅,也会将堆栈中的资源从其所在的任何位置删除。

堆栈的资源在被删除后会发生什么情况? 与部署堆栈创建和更新命令一样,取消托管时操作参数的值决定了堆栈的资源会发生什么情况。 创建、修改或删除部署堆栈时,可以设置此参数的值。 这三个操作都可以设置 action on unmanage 参数的行为。 请记住,最近设置的值优先。

考虑存款应用程序。 在上一单元中,我们从 Bicep 文件中移除了一些资源,然后更新了部署堆栈以使用修订后的 Bicep 文件。 此操作会产生移除一些资源的后果。 现在,我们可以移除整个堆栈,这会移除堆栈管理的所有资源。

通常,在删除部署堆栈时,你会将取消托管时的操作参数设置为 delete all,这会删除资源。 但有时你会希望删除堆栈而不删除资源。 也许你不再需要部署堆栈提供的功能,但资源需要保留。 或者,你要将资源从一个堆栈移到另一个堆栈。 要拆离资源,请改为将取消托管时的操作参数设置为 detach all

注意

使用资源组范围的部署堆栈时,取消托管时的操作参数的 delete all 值不会删除已拆离的资源或堆栈所在的资源组。 如果要移除已拆离的资源和资源组,必须以手动方式将其删除。

要使用 Azure CLI 删除部署堆栈,请使用az stack group delete命令。

az stack group delete \
    --name stack-deposits \
    --resource-group rg-depositsApplication \
    --action-on-unmanage deleteAll

要使用 Azure PowerShell 删除部署堆栈,请使用Remove-AzResourceGroupDeploymentStack命令。

Remove-AzResourceGroupDeploymentStack `
    -Name stack-deposits `
    -ResourceGroupName rg-depositsApplication `
    -ActionOnUnmanage -DeleteAll