KQL / Azure Resource Graph Explorer:合并来自多个记录的值
KQL / Azure Resource Graph Explorer: combine values from multiple records
我正在尝试获取为 azure 资源图资源管理器中的一组负载平衡器配置的所有 public ips 和 fqdns。我正在通过以下查询获取所需的所有数据:
Resources
| where type =~ 'Microsoft.Network/loadBalancers'
| where subscriptionId =~ '11111111-2222-3333-4444-555555555555'
| where resourceGroup =~ 'resource-group-name'
| mv-expand ipConfig=properties.frontendIPConfigurations
| project name, publicIpId = tostring(ipConfig.properties.publicIPAddress.id)
| join kind=leftouter (
Resources
| where type =~ 'microsoft.network/publicipaddresses'
| project publicIpId = id, publicIpAddress = tostring(properties.ipAddress), fqdn = tostring(properties.dnsSettings.fqdn)
)
on publicIpId
| summarize by name, publicIpAddress, fqdn
但是结果的形式是:
name publicIpAddress fqdn
outbound-lb x.y.z.1 a domain
frontend-lb x.y.z.2 another domain
frontend-lb x.y.z.3 third domain
services-lb x.y.z.4 fourth domain
而我需要的是:
name publicIpAddress fqdn
outbound-lb x.y.z.1 a domain
frontend-lb x.y.z.2, x.y.z.3 another domain, third domain
services-lb x.y.z.4 fourth domain
我一直在查看 summarize make_list()
函数,但没有成功获得我需要的结果!
你可以尝试替换这个:
| summarize by name, publicIpAddress, fqdn
有了这个:
| summarize publicIpAddress = strcat_array(make_set(publicIpAddress), ", "),
fqdn = strcat_array(make_set(fqdn), ", ")
by name
我正在尝试获取为 azure 资源图资源管理器中的一组负载平衡器配置的所有 public ips 和 fqdns。我正在通过以下查询获取所需的所有数据:
Resources
| where type =~ 'Microsoft.Network/loadBalancers'
| where subscriptionId =~ '11111111-2222-3333-4444-555555555555'
| where resourceGroup =~ 'resource-group-name'
| mv-expand ipConfig=properties.frontendIPConfigurations
| project name, publicIpId = tostring(ipConfig.properties.publicIPAddress.id)
| join kind=leftouter (
Resources
| where type =~ 'microsoft.network/publicipaddresses'
| project publicIpId = id, publicIpAddress = tostring(properties.ipAddress), fqdn = tostring(properties.dnsSettings.fqdn)
)
on publicIpId
| summarize by name, publicIpAddress, fqdn
但是结果的形式是:
name publicIpAddress fqdn
outbound-lb x.y.z.1 a domain
frontend-lb x.y.z.2 another domain
frontend-lb x.y.z.3 third domain
services-lb x.y.z.4 fourth domain
而我需要的是:
name publicIpAddress fqdn
outbound-lb x.y.z.1 a domain
frontend-lb x.y.z.2, x.y.z.3 another domain, third domain
services-lb x.y.z.4 fourth domain
我一直在查看 summarize make_list()
函数,但没有成功获得我需要的结果!
你可以尝试替换这个:
| summarize by name, publicIpAddress, fqdn
有了这个:
| summarize publicIpAddress = strcat_array(make_set(publicIpAddress), ", "),
fqdn = strcat_array(make_set(fqdn), ", ")
by name