Share via


Azure Resource Graph-Beispielabfragen für Azure Resource Manager

Diese Seite enthält eine Sammlung von Azure Resource Graph-Beispielabfragen für Azure Resource Manager. Eine vollständige Liste mit den Azure Resource Graph-Beispielen finden Sie unter Resource Graph-Beispiele nach Kategorie und Resource Graph-Beispiele nach Tabelle.

Beispielabfragen für Tags

Suchen von Speicherkonten mit einem bestimmten Tag (unter Vernachlässigung der Groß-/Kleinschreibung) in der Ressourcengruppe

Ähnlich wie bei der Abfrage "Suchen von Speicherkonten mit einem bestimmten Tag mit Beachtung der Groß-/Kleinschreibung in der Ressourcengruppe", aber wenn nach einem Tagnamen und tag-Wert gesucht werden muss, bei dem die Groß-/Kleinschreibung nicht beachtet wird, verwenden Sie mv-expand mit dem Parameter bagexpansion. Bei dieser Abfrage wird ein höheres Kontingent als in der ursprünglichen Abfrage verwendet. Verwenden Sie mv-expand also nur, wenn dies unbedingt erforderlich ist.

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"

Suchen von Speicherkonten mit einem bestimmten Tag (unter Berücksichtigung der Groß-/Kleinschreibung) in der Ressourcengruppe

In der folgenden Abfrage wird innerjoin zum Verbinden von Speicherkonten mit Ressourcengruppen verwendet, die über einen Tagnamen und einen Tagwert verfügen, bei denen die Groß-/Kleinschreibung berücksichtigt wird.

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"

Auflisten aller Tagnamen

Diese Abfrage beginnt mit dem Tag und erstellt ein JSON-Objekt, das alle eindeutigen Tagnamen und ihre entsprechenden Typen auflistet.

Resources
| project tags
| summarize buildschema(tags)
az graph query -q "Resources | project tags | summarize buildschema(tags)"

Auflisten aller Tags und der zugehörigen Werte

Diese Abfrage listet Tags in Verwaltungsgruppen, Abonnements und Ressourcen sowie die zugehörigen Werte auf. Die Abfrage wird zunächst auf Ressourcen mit nicht leeren Tags (isnotempty()) beschränkt. Außerdem werden die einbezogenen Felder beschränkt, indem nur tags in project und mvexpand eingeschlossen wird, und es wird extend verwendet, um die Datenpaare aus dem Eigenschaftenbehälter abzurufen. Anschließend wird union verwendet, um die Ergebnisse aus ResourceContainers mit den gleichen Ergebnissen aus Resources zu kombinieren, wodurch eine umfassende Abdeckung der abgerufenen Tags erzielt wird. Abschließend werden die Ergebnisse auf individuelle (distinct) Datenpaare beschränkt, und vom System ausgeblendete Tags werden ausgeschlossen.

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

Auflisten von Ressourcen mit einem bestimmten Tagwert

Wir können die Ergebnisse nach anderen Eigenschaften als dem Azure-Ressourcentyp einschränken, z.B. einem Tag. In diesem Beispiel filtern wir mit dem Tagnamen Environment mit dem Wert Internal nach Azure-Ressourcen. Wenn Sie darüber hinaus die Tags der Ressource und ihre Werte zurückgeben möchten, fügen Sie dem Schlüsselwort project die Eigenschaft tags hinzu.

Resources
| where tags.environment=~'internal'
| project name, tags
az graph query -q "Resources | where tags.environment=~'internal' | project name, tags"

Nächste Schritte