Consultas de exemplo do Azure Resource Graph para o Azure Resource Manager
Esta página é uma coleção de consultas de exemplo do Azure Resource Graph para o Azure Resource Manager. Para obter uma lista completa de exemplos do Azure Resource Graph, consulte Exemplos de Gráfico de Recursos por Categoria e Exemplos de Gráfico de Recursos por Tabela.
Exemplos de consultas para tags
Localizar contas de armazenamento com uma tag específica que não diferencia maiúsculas de minúsculas no grupo de recursos
Semelhante à consulta "Localizar contas de armazenamento com uma tag específica que diferencia maiúsculas de minúsculas no grupo de recursos", mas quando for necessário procurar um nome de tag que não diferencia maiúsculas de minúsculas e um valor de tag, use mv-expand
com o parâmetro bagexpansion . Essa consulta usa mais cota do que a consulta original, portanto, use mv-expand
somente se necessário.
Resources
| where type =~ 'microsoft.storage/storageaccounts'
| join kind=inner (
ResourceContainers
| where type =~ 'microsoft.resources/subscriptions/resourcegroups'
| mv-expand bagexpansion=array tags
| where isnotempty(tags)
| where tags[0] =~ 'key1' and tags[1] =~ 'value1'
| project subscriptionId, resourceGroup)
on subscriptionId, resourceGroup
| project-away subscriptionId1, resourceGroup1
az graph query -q "Resources | where type =~ 'microsoft.storage/storageaccounts' | join kind=inner ( ResourceContainers | where type =~ 'microsoft.resources/subscriptions/resourcegroups' | mv-expand bagexpansion=array tags | where isnotempty(tags) | where tags[0] =~ 'key1' and tags[1] =~ 'value1' | project subscriptionId, resourceGroup) on subscriptionId, resourceGroup | project-away subscriptionId1, resourceGroup1"
Localizar contas de armazenamento com uma tag específica que diferencia maiúsculas de minúsculas no grupo de recursos
A consulta a seguir usa um internojoin
para conectar contas de armazenamento com grupos de recursos que têm um nome de tag e um valor de tag que diferenciam maiúsculas de minúsculas especificados.
Resources
| where type =~ 'microsoft.storage/storageaccounts'
| join kind=inner (
ResourceContainers
| where type =~ 'microsoft.resources/subscriptions/resourcegroups'
| where tags['Key1'] =~ 'Value1'
| project subscriptionId, resourceGroup)
on subscriptionId, resourceGroup
| project-away subscriptionId1, resourceGroup1
az graph query -q "Resources | where type =~ 'microsoft.storage/storageaccounts' | join kind=inner ( ResourceContainers | where type =~ 'microsoft.resources/subscriptions/resourcegroups' | where tags['Key1'] =~ 'Value1' | project subscriptionId, resourceGroup) on subscriptionId, resourceGroup | project-away subscriptionId1, resourceGroup1"
Listar todos os nomes de etiquetas
Esta consulta começa com a etiqueta e cria um objeto JSON que lista todos os nomes de etiquetas exclusivos e os tipos correspondentes.
Resources
| project tags
| summarize buildschema(tags)
az graph query -q "Resources | project tags | summarize buildschema(tags)"
Listar todas as tags e seus valores
Essa consulta lista marcas em grupos de gerenciamento, assinaturas e recursos, juntamente com seus valores. A consulta primeiro limita a recursos onde tags isnotempty()
, limita os campos incluídos incluindo apenas tags no project
, e mvexpand
extend
para obter os dados emparelhados do pacote de propriedades. Em seguida, ele usa union
para combinar os resultados de ResourceContainers com os mesmos resultados de Resources, dando ampla cobertura para quais tags são buscadas. Por último, limita os resultados a distinct
dados emparelhados e exclui etiquetas ocultas do sistema.
ResourceContainers
| where isnotempty(tags)
| project tags
| mvexpand tags
| extend tagKey = tostring(bag_keys(tags)[0])
| extend tagValue = tostring(tags[tagKey])
| union (
resources
| where isnotempty(tags)
| project tags
| mvexpand tags
| extend tagKey = tostring(bag_keys(tags)[0])
| extend tagValue = tostring(tags[tagKey])
)
| distinct tagKey, tagValue
| where tagKey !startswith "hidden-"
az graph query -q "ResourceContainers | where isnotempty(tags) | project tags | mvexpand tags | extend tagKey = tostring(bag_keys(tags)[0]) | extend tagValue = tostring(tags[tagKey]) | union ( resources | where isnotempty(tags) | project tags | mvexpand tags | extend tagKey = tostring(bag_keys(tags)[0]) | extend tagValue = tostring(tags[tagKey]) ) | distinct tagKey, tagValue | where tagKey !startswith "hidden-""
Listar recursos com um valor de etiqueta específico
Podemos limitar os resultados por propriedades que não sejam do tipo de recurso do Azure, como uma etiqueta. Neste exemplo, está a filtrar recursos do Azure com um nome de etiqueta de Ambiente que têm um valor de Interno. Também indica as etiquetas que o recurso tem e os seus valores, adicione a propriedade etiquetas à palavra-chave project
.
Resources
| where tags.environment=~'internal'
| project name, tags
az graph query -q "Resources | where tags.environment=~'internal' | project name, tags"
Próximos passos
- Saiba mais sobre a linguagem de consulta.
- Saiba mais sobre como explorar recursos.
- Veja exemplos de consultas de idioma inicial.
- Veja exemplos de consultas de idiomas avançados.