我正在尝试检索可用性集内的VM的Fault Domain ID。这些ID是“随机”分配给相关虚拟机的,但对我和应用程序来说,知道vm分配给哪个故障域ID很重要。 (通过随机b / c我们使用terraform同时生成~21个VM)
在azure的Web门户上,如果查看可用性集,则可以检索此信息。
我尝试过的:
在页面上View Fault and Update Domains of virtual machine in Azure through Python Script他们给了我一个命令的例子:这给出了--expand属性的错误
az vm show -g [ResourceGroup] -n [VM_NAME] --expand instanceView
az: error: unrecognized arguments: --expand instanceView
usage: az [-h] [--verbose] [--debug] [--output {json,jsonc,table,tsv}]
[--query JMESPATH]
{vm} ...
这不会给出错误但也不会给我属性。
我也尝试过Powershell,但没有成功。
Get-AzureRmVM -ResourceGroupName $ rg.ResourceGroupName |的ConvertTo-JSON
Get-AzureRmAvailabilitySet -ResourceGroupName $ rg.ResourceGroupName |的ConvertTo-JSON
有谁知道如何检索域错误ID?
AFAIK,您无法获得故障域ID,域由MS分配,您最多可以获得platformFaultDomainCount
。
故障域定义共享公共电源和网络交换机的虚拟机组。
默认情况下,可用性集中配置的虚拟机在最多三个故障域之间分离,以进行资源管理器部署(Classic的两个故障域)。
有关可用性集和故障域的更多详细信息,请参阅:
可以使用REST API:
https://management.azure.com/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/virtualMachines/%s/instanceView?api-version=2017-03-30
所以,我刚写了一个REST API客户端来检索我的信息,我不知道为什么它在CLI客户端不起作用,(也许是一个bug?)