我有以下 ARM 模板结构:
Parent Template
|--Nested Template 1
|--...
|--Nested Template 6
所以我只有 2 层模板,父级模板和嵌套模板。
假设我将父级部署到一个空资源组,一切正常。之后,我删除其中一项资源,并希望使用相同的参数部署相同的父模板以恢复已删除的资源。但是部署会失败,表明资源已经存在(另一个,不是我尝试重新创建的资源)。我尝试了增量模式和完整模式进行部署。
如果我直接调用缺少资源的嵌套模板,它将按预期工作(因此,专门创建仅使用嵌套模板的部署,而不是使用调用嵌套模板的父级)。
更新:
经过一些额外的测试后,我可以得出结论,这比以前更奇怪。所以我使用 powershell 开始此部署:
新-AzureRmResourceGroupDeployment @parameters
它部署得很好,但是如果我在第一次部署完成后调用相同的命令,我会收到错误:
资源“gggg-1s-the-wordd”已存在于该位置
资源组“gggg”中的“westeurope”。同名资源
无法在“northeurope”位置创建。请选择一个新的
资源名称。
这种行为是否例外?我似乎找不到任何相关内容,谢谢!
UPD2:我使用门户网站还是powershell并不重要,我会得到同样的错误。
因此,在布莱恩的帮助下,我们找到了罪魁祸首。问题在于 Web 应用程序将其位置设置为 resourcesgroup().location,而应用程序服务计划正确地从参数获取位置。因此,这导致了一个问题:在部署时,WebApp 会部署到其应用服务计划所在的区域,但在评估时,它会认为该 WebApp 属于资源组所在的区域。
TLDR - 复制粘贴错误,再加上 ARM 中位置评估中的错误,导致了相当奇怪的行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)