Share via


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 mvexpandextend 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