Syntax för Azure Monitor REST API-filter

Många Azure Monitor-API:er tar en parameter, {filter-expression}, som du kan använda för att filtrera eller begränsa den uppsättning data som samlas in.

Använda filtret "*" i begäran om flera resurser

Viktigt!

I * ett filter för flera resurser är inte ett jokertecken. Det är en literalsträng som används för att begära flera resurser. Används * för att begära flera resurser i en enda tidsserie.

I exemplet nedan $filter=Microsoft.ResourceId eq '*' instrueras API:et att returnera en separat tidsserie per virtuell datorresurs i prenumerationen och regionen. Utan filtret returnerar API:et en enda tidsserie som aggregerar den genomsnittliga PROCESSORn för alla virtuella datorer. Tidsserien för varje resurs särskiljs av metadatavärdet Microsoft.ResourceId för varje tidsseriepost.

Om du använder $filter=Microsoft.ResourceId eq '*' och det inte finns några resurser, i det här fallet virtuella datorer i den angivna tidsserien, returneras den tomma tidsserien timeseries:[] eftersom det inte finns några resultat för den begärda uppsättningen dimension som innehåller ResourceId
Samma fråga utan filtret returnerar en enda tidsserie som returnerar en aggregerad genomsnittlig CPU = 0 för alla virtuella datorer eftersom detta är summan för alla begärda dimensioner.

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

Exempel med hjälp av $filter

Här är de möjliga uttryckssträngar som du kan skicka som {filter-expression}. Ingen annan syntax tillåts.

  • Lista händelser för en resursgrupp

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

    Exempel:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z och eventTimestamp le 2014-12-29T23:36:37Z och eventChannels eq 'Admin, Operation' och resourceGroupName eq 'CloudLab'

  • Visa en lista över händelser för en resurs

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

    Exempel:

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

  • Visa en lista över händelser för en Azure-prenumeration

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

    Exempel:

    $filter=eventTimestamp ge 2014-12-29T22:00:37Z och eventTimestamp le 2014-12-29T23:36:37Z och eventChannels eq 'Admin, Operation'

  • Visa en lista över händelser för en Azure-resursprovider

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

    Exempel:

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

  • Visa en lista över händelser för ett korrelations-ID

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

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