如何查询Azure服务可用于检索的全部属性?附初始查询语句
如何列出Azure服务的所有可查询属性(以NetApp Accounts为例)
方法1:用getschema获取属性元数据
getschema操作符能返回表的完整结构,包括所有可查询属性的名称、数据类型等元信息。针对你关注的NetApp Accounts,执行以下查询就能拿到全部可查询属性的清单:
resources | where type == 'microsoft.netapp/netappaccounts' | getschema
返回结果里的ColumnName列就是所有可查询的属性名称,DataType列会标注属性的数据类型。
方法2:用project *查看所有属性的实际值
如果想直观看到该资源类型的所有属性及对应的值,可以直接用project *展开所有字段:
resources | where type == 'microsoft.netapp/netappaccounts' | where isnotempty(tags) and tags <> "{}" | project *
这个查询会列出系统内置属性(比如id、subscriptionId)和NetApp Accounts特有的属性(比如properties.provisioningState、properties.activeDirectories)。
方法3:展开资源自定义属性
很多Azure资源的核心配置属性都存在properties这个动态对象里,用bag_unpack可以把这些嵌套属性展开成单独的列,方便查看:
resources | where type == 'microsoft.netapp/netappaccounts' | where isnotempty(tags) and tags <> "{}" | extend properties = todynamic(properties) | bag_unpack(properties) | project name, type, resourceGroup, subscriptionId, tags, location, *
这样既能保留你初始查询里的核心字段,又能看到NetApp Accounts特有的所有配置属性。
注意事项
- 不同Azure服务的属性差异很大,一定要先通过
where type == '目标资源类型'过滤,避免结果混乱 - 如果不确定某个属性是否存在,可以先看
getschema的结果,或者用has操作符验证
内容的提问来源于stack exchange,提问作者user770022
相关产品推荐
相关产品推荐

