azure Bicep中模块展开状态的打印输出

plupiseo  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(110)

假设我有一个二头肌模板,它包含多个模块,如下所示:

module storageAccount ".../location" = {
 ...
}
output storageAccountStatus string = 'SA deployed!'
module keyVault ".../location" = {
     ...
}
output keyVaultStatus string = 'kv deployed!'
module functionApp ".../location" = {
     ...
}
output functionApp string = 'fa deployed!'

如果执行此模板失败,如何获得状态输出?
MS Learn文档说明您只能获得成功部署的输出:https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/outputs?tabs=azure-powershell
对于我来说,手动获取单个模块部署的输出也是很麻烦的。
如果将所有模块放在一个二头肌模板中,是否有简单的方法可以知道哪个模块无法展开?

3wabscal

3wabscal1#

bicep中的模块在Azure中创建deployment资源。您可以随时在Azure中查找模块/部署的结果。这将有点取决于您的targetScope,但您可以执行以下操作:

Get-AzResourceGroupDeployment -ResourceGroupName $rgName | Where-Object{$_.ProvisioningState -eq "Failed"}

然后,您可以进一步深入查看所尝试的每个操作,例如

Get-AzResourceGroupDeploymentOperation -ResourceGroupName $rgName -Name $deploymentName

部署的名称将是二头肌中模块的名称。
这里需要注意的是,这些命令将显示给定范围内的 * 所有 * 部署-例如,如果一个资源组已经存在很长时间,您可能会在那里看到很多部署。如果您一直使用相同的名称,那么旧的部署将被覆盖(因此您只能看到最新的),除此之外,您可能需要添加其他过滤器。

相关问题