Sdílet prostřednictvím


Syntaxe filtru rozhraní REST API služby Azure Monitor

Mnoho rozhraní API služby Azure Monitor přebírá parametr, {filter-expression}který můžete použít k filtrování nebo omezení sady shromažďovaných dat.

Použití filtru '*' při požadavku na více zdrojů

Důležité

Filtr * in pro více prostředků není zástupný znak. Jedná se o řetězec literálů, který se používá k vyžádání více zdrojů. Slouží * k vyžádání více prostředků v jedné časové řadě.

V následující $filter=Microsoft.ResourceId eq '*' ukázce je uvedeno, že rozhraní API má vrátit samostatnou časovou řadu pro každý prostředek virtuálního počítače v předplatném a oblasti. Bez filtru by rozhraní API vracelo jednu časovou řadu, která by agregovala průměrné zatížení CPU pro všechny virtuální počítače. Časové řady 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ě, vrátí se prázdná časová řada timeseries:[] , protože pro požadovanou sadu dimenzí, která obsahuje ResourceId
Stejný dotaz bez filtru vrátí jednu časovou řadu a vrátí agregovaný průměrný procesor = 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

Zde jsou možné řetězce výrazů, které můžete předat jako {filter-expression}. Žádná jiná syntaxe není povolena.

  • 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 a eventTimestamp le 2014-12-29T23:36:37Z a eventChannels eq 'Admin, Operation' a 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 a eventTimestamp le 2014-12-29T23:36:37Z a eventChannels eq 'Admin, Operation' a resourceUri eq '/subscriptions/089bd33f-d4ec-47fe-8ba5-0753aa5c5b33/resourcegroups/CloudLab/providers/Microsoft.Web/sites/mytestweb004'

  • Vypsat události 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 a eventTimestamp le 2014-12-29T23:36:37Z a eventChannels eq 'Admin, 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 a eventTimestamp le 2014-12-29T23:36:37Z a eventChannels eq 'Admin, Operation' a 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 a eventTimestamp le 2014-12-29T23:36:37Z a eventChannels eq 'Admin, Operation' a correlationId eq '07c85493-5e87-4efd-9200-0c64d904d878'