Składnia filtru interfejsu API REST usługi Azure Monitor

Wiele interfejsów API usługi Azure Monitor używa parametru , {filter-expression}którego można użyć do filtrowania lub ograniczania zestawu zebranych danych.

Używanie filtru "*" w żądaniu wielu zasobów

Ważne

Element * w filtrze dla wielu zasobów nie jest symbolem wieloznacznymi. Jest to ciąg literału używany do żądania wielu zasobów. Element * służy do żądania wielu zasobów w jednym szeregu czasowym.

W poniższym $filter=Microsoft.ResourceId eq '*' przykładzie interfejs API nakazuje interfejsowi API zwrócenie oddzielnego szeregu czasowego na zasób maszyny wirtualnej w subskrypcji i regionie. Bez filtru interfejs API zwracałby pojedynczą serię czasową agregując średnią procesor CPU dla wszystkich maszyn wirtualnych. Szereg czasowy dla każdego zasobu jest rozróżniany przez wartość metadanych Microsoft.ResourceId dla każdego wpisu szeregów czasowych.

Jeśli używasz i $filter=Microsoft.ResourceId eq '*' nie ma żadnych zasobów, w tym przypadku maszyny wirtualne w określonych szeregach czasowych, puste czasy timeseries:[] są zwracane, ponieważ nie ma żadnych wyników dla żądanego zestawu wymiarów, który zawiera ResourceId
To samo zapytanie bez filtru zwróci pojedynczą serię czasową zwracającą zagregowany średni procesor CPU = 0 dla wszystkich maszyn wirtualnych, ponieważ jest to suma dla wszystkich żądanych wymiarów.

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 '*'

Przykład użycia $filter

Poniżej przedstawiono możliwe ciągi wyrażeń, które można przekazać jako {filter-expression}. Żadna inna składnia nie jest dozwolona.

  • Wyświetlanie listy zdarzeń dla grupy zasobów

    $filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceGroupName eq '<ResourceGroupName>'
    

    Przykład:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z i eventTimestamp le 2014-12-29T23:36:37Z i eventChannels eq "Administracja, Operation" i resourceGroupName eq "CloudLab"

  • Wyświetlanie listy zdarzeń dla zasobu

    $filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceUri eq '<ResourceURI>'
    

    Przykład:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z i eventTimestamp le 2014-12-29T23:36:37Z i eventChannels eq 'Administracja, Operation" i resourceUri eq "/subscriptions/089bd33f-d4ec-47fe-8ba5-0753aa5c5b33/resourcegroups/CloudLab/providers/Microsoft.Web/sites/mytestweb004"

  • Wyświetlanie listy zdarzeń dla subskrypcji platformy Azure

    $filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation'
    

    Przykład:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z i eventTimestamp le 2014-12-29T23:36:37Z i eventChannels eq "Administracja, Operacja"

  • Wyświetlanie listy zdarzeń dla dostawcy zasobów platformy Azure

    $filter=eventTimestamp ge <Start Time> and eventTimestamp le <End Time> and eventChannels eq 'Admin, Operation' and resourceProvider eq '<ResourceProviderName>'
    

    Przykład:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z i eventTimestamp le 2014-12-29T23:36:37Z i eventChannels eq "Administracja, Operation" i resourceProvider eq "Microsoft.Web"

  • Wyświetlanie listy zdarzeń dla identyfikatora korelacji

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

    Przykład: api-version=2014-04-01&$filter=eventTimestamp ge 2014-12-29T22:00:37Z i eventTimestamp le 2014-12-29T23:36:37Z i eventChannels eq 'Administracja, Operation" i correlationId eq "07c85493-5e87-4efd-9200-0c64d904d878"