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&region=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'