Syntaxe filtru rozhraní REST API služby Azure Monitor
Mnoho rozhraní API služby Azure Monitor používá parametr {filter-expression}
, který můžete použít k filtrování nebo omezení sady shromažďovaných dat.
Použití filtru *v žádosti o více prostředků
Důležité
Ve *
filtru pro více prostředků není zástupný znak. Jedná se o literálový řetězec, který se používá k vyžádání více prostředků. Slouží *
k vyžádání více prostředků v jedné časové řadě.
V následující $filter=Microsoft.ResourceId eq '*'
ukázce říká rozhraní API, že má vrátit samostatnou časovou řadu na prostředek virtuálního počítače v předplatném a oblasti. Bez filtru by rozhraní API vrátilo jednu časovou řadu agregující průměrné využití procesoru pro všechny virtuální počítače. Časová řada pro každý prostředek se liší hodnotou metadat Microsoft.ResourceId u každé položky časové řady.
Pokud použijete $filter=Microsoft.ResourceId eq '*'
a neexistují žádné prostředky, v tomto případě virtuální počítače v zadané časové řadě se vrátí prázdná časová období timeseries:[]
, protože neexistují žádné výsledky pro požadovanou sadu dimenzí, která zahrnuje. ResourceId
Stejný dotaz bez filtru vrátí jednu časovou řadu vracející agregovaný průměr CPU = 0
pro všechny virtuální počítače, protože se jedná o součet napříč všemi požadovanými dimenzemi.
GET https://management.azure.com/subscriptions/12345678-abcd-98765432-abcdef012345/providers/microsoft.Insights/metrics?timespan=2023-06-25T22:20:00.000Z/2023-06-26T22:25:00.000Z&interval=PT5M&metricnames=Percentage CPU&aggregation=average&api-version=2021-05-01®ion=eastus&metricNamespace=microsoft.compute/virtualmachines&$filter=Microsoft.ResourceId eq '*'
Příklad použití $filter
Tady jsou možné řetězce výrazů, které můžete předat jako {filter-expression}
. Není povolena žádná jiná syntaxe.
Výpis událostí pro skupinu prostředků
$filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceGroupName eq '<ResourceGroupName>'
Příklad:
$filter=eventTimestamp ge 2014-12-29T22:00:37Z and eventTimestamp le 2014-12-29T23:36:37Z and eventChannels eq 'Správa, Operation' and resourceGroupName eq 'CloudLab'
Výpis událostí pro prostředek
$filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceUri eq '<ResourceURI>'
Příklad:
$filter=eventTimestamp ge 2014-12-29T22:00:37Z and eventTimestamp le 2014-12-29T23:36:37Z and eventChannels eq 'Správa, Operation' and resourceUri eq '/subscriptions/089bd33f-d4ec-47fe-8ba5-0753aa5c5b33/resourcegroups/CloudLab/providers/Microsoft.Web/sites/mytestweb004'
Výpis událostí pro předplatné Azure
$filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation'
Příklad:
$filter=eventTimestamp ge 2014-12-29T22:00:37Z and eventTimestamp le 2014-12-29T23:36:37Z and eventChannels eq 'Správa, Operation'
Výpis událostí pro poskytovatele prostředků Azure
$filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceProvider eq '<ResourceProviderName>'
Příklad:
$filter=eventTimestamp ge 2014-12-29T22:00:37Z and eventTimestamp le 2014-12-29T23:36:37Z and eventChannels eq 'Správa, Operation' and resourceProvider eq 'Microsoft.Web'
Výpis událostí pro ID korelace
api-version=2014-04-01&$filter=eventTimestamp ge 2014-07-16T04:36:37.6407898Z and eventTimestamp le 2014-07-20T04:36:37.6407898Z and eventChannels eq 'Admin, Operation' and correlationId eq '<CorrelationID>'
Příklad: api-version=2014-04-01&$filter=eventTimestamp ge 2014-12-29T22:00:37Z and eventTimestamp le 2014-12-29T23:36:37Z and eventChannels eq 'Správa, Operation' and correlationId eq '07c85493-5e87-4efd-9200-0c64d904d878'