Sintaks Filter REST API Azure Monitor

Banyak API Azure Monitor mengambil parameter, {filter-expression}, yang dapat Anda gunakan untuk memfilter atau membatasi kumpulan data yang dikumpulkan.

Menggunakan filter '*' dalam meminta beberapa sumber daya

Penting

* dalam filter untuk beberapa sumber daya bukan kartubebas. Ini adalah string harfiah yang digunakan untuk meminta beberapa sumber daya. * digunakan untuk meminta beberapa sumber daya dalam satu rangkaian waktu.

Dalam sampel di bawah ini $filter=Microsoft.ResourceId eq '*' memberi tahu API untuk mengembalikan rangkaian waktu terpisah per sumber daya komputer virtual di langganan dan wilayah. Tanpa filter, API akan mengembalikan satu rangkaian waktu yang menggabungkan CPU rata-rata untuk semua VM. Rangkaian waktu untuk setiap sumber daya dibingkai oleh nilai metadata Microsoft.ResourceId pada setiap entri rangkaian waktu.

Jika Anda menggunakan $filter=Microsoft.ResourceId eq '*' dan tidak ada sumber daya, dalam hal ini VM dalam rangkaian waktu yang ditentukan, timeeries timeseries:[] kosong dikembalikan karena tidak ada hasil untuk kumpulan dimensi yang diminta yang mencakup ResourceId
Kueri yang sama tanpa filter akan mengembalikan satu rangkaian waktu yang mengembalikan CPU rata-rata agregat = 0 untuk semua VM karena ini adalah jumlah di semua dimensi yang diminta.

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

Contoh menggunakan $filter

Berikut adalah kemungkinan string ekspresi yang dapat Anda lewati sebagai {filter-expression}. Tidak ada sintaks lain yang diizinkan.

  • Mencantumkan peristiwa untuk grup sumber daya

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

    Contoh:

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

  • Mencantumkan peristiwa untuk sumber daya

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

    Contoh:

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

  • Mencantumkan peristiwa untuk langganan Azure

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

    Contoh:

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

  • Mencantumkan peristiwa untuk penyedia sumber daya Azure

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

    Contoh:

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

  • Mencantumkan peristiwa untuk ID korelasi

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

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