Azure Monitor REST API-filtersyntaxis

Veel Azure Monitor-API's hebben een parameter, {filter-expression}, die u kunt gebruiken om de verzameling gegevens die wordt verzameld, te filteren of te beperken.

Filter *gebruiken in aanvraag van meerdere resources

Belangrijk

De * in een filter voor meerdere resources is geen jokerteken. Het is een letterlijke tekenreeks die wordt gebruikt om meerdere resources aan te vragen. De * wordt gebruikt om meerdere resources in één tijdreeks aan te vragen.

In het onderstaande $filter=Microsoft.ResourceId eq '*' voorbeeld wordt aan de API aangegeven dat er een afzonderlijke tijdreeks per virtuele machineresource in het abonnement en de regio moet worden geretourneerd. Zonder het filter retourneert de API één tijdreeks die de gemiddelde CPU voor alle VM's samenvoegt. De tijdreeksen voor elke resource worden onderscheiden door de metagegevenswaarde Microsoft.ResourceId voor elke tijdreeksvermelding.

Als u gebruikt $filter=Microsoft.ResourceId eq '*' en er geen resources zijn, in dit geval VM's in de opgegeven tijdreeks, wordt de lege tijdreeks geretourneerd omdat er geen resultaten zijn voor de aangevraagde set dimensies timeseries:[] die ResourceId
Dezelfde query zonder het filter retourneert één tijdreeks die een geaggregeerd gemiddelde CPU = 0 retourneert voor alle VM's, omdat dit de som is van alle aangevraagde dimensies.

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

Voorbeeld met behulp van $filter

Dit zijn de mogelijke expressietekenreeksen die u kunt doorgeven als {filter-expression}. Er is geen andere syntaxis toegestaan.

  • Gebeurtenissen voor een resourcegroep weergeven

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

    Voorbeeld:

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

  • Gebeurtenissen voor een resource weergeven

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

    Voorbeeld:

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

  • Gebeurtenissen voor een Azure-abonnement weergeven

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

    Voorbeeld:

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

  • Gebeurtenissen voor een Azure-resourceprovider weergeven

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

    Voorbeeld:

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

  • Gebeurtenissen weergeven voor een correlatie-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>'
    

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