Event Grid di Kubernetes - pemfilteran peristiwa untuk langganan

Azure Event Grid memungkinkan penentuan filter pada properti apa pun di payload json. Filter ini dimodelkan sebagai kumpulan kondisi AND, dengan setiap kondisi luar memiliki kondisi opsional OR di bagian dalam. Untuk setiap kondisi AND, tetapkan nilai berikut:

  • OperatorType - Jenis perbandingan.
  • Key - Jalur json ke properti yang akan menerapkan filter.
  • Value - Nilai referensi yang menjalankan filter (atau) Values - Sekumpulan nilai referensi yang menjalankan filter.

Penting

Event Grid di Kubernetes dengan Azure Arc saat ini sedang dalam pratinjau publik. Versi pratinjau ini diberikan tanpa perjanjian tingkat layanan dan tidak disarankan untuk beban kerja produksi. Fitur tertentu mungkin tidak didukung atau mungkin memiliki kemampuan terbatas. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.

Memfilter berdasarkan jenis peristiwa

Secara default, semua jenis peristiwa (atribut type) untuk sumber peristiwa dikirim ke titik akhir. Anda dapat memutuskan untuk mengirim hanya jenis kejadian tertentu ke titik akhir Anda. Sintaksis JSON untuk pemfilteran menurut jenis kejadian adalah:

"filter": {
  "includedEventTypes": [
    "orderCreated",
    "orderUpdated"
  ]
}

Dalam contoh di atas, satu-satunya peristiwa jenis orderCreated dan orderUpdateddikirim ke titik akhir pelanggan.

Berikut contoh peristiwa:

[{
      "specVersion": "1.0",
      "type" : "orderCreated",
      "source": "myCompanyName/us/webCommerceChannel/myOnlineCommerceSiteBrandName",
      "id" : "eventId-n",
      "time" : "2020-12-25T20:54:07+00:00",
      "subject" : "account/acct-123224/order/o-123456",
      "dataSchema" : "1.0",
      "data" : {
         "orderId" : "123",
         "orderType" : "PO",
         "reference" : "https://www.myCompanyName.com/orders/123"
      }
}]

Memfilter berdasarkan subjek

Untuk pemfilteran sederhana menurut subjek, tentukan nilai awal atau akhir untuk subjek. Sintaksis JSON untuk pemfilteran menurut subjek adalah:

"filter": {
  "subjectBeginsWith": "/account/acct-123224/"
}

Misalnya, filter yang dikonfigurasi di atas akan mengirim semua pesanan yang terkait dengan acct-123224 akun ke titik akhir pelanggan.

Saat memublikasikan peristiwa ke topik khusus, buat subjek untuk peristiwa Anda yang memudahkan pelanggan untuk mengetahui apakah mereka tertarik dengan peristiwa tersebut. Pelanggan menggunakan properti subjek untuk memfilter dan rute kejadian. Pertimbangkan untuk menambahkan jalur tempat peristiwa terjadi sehingga pelanggan dapat memfilter berdasarkan segmen jalur tersebut. Jalur ini memungkinkan pelanggan untuk memperluas atau mempersempit filter peristiwa. Jika Anda menyediakan jalur tiga segmen seperti /A/B/C dalam subjek, pelanggan dapat memfilter berdasarkan segmen pertama /A untuk mendapatkan serangkaian luas peristiwa. Pelanggan tersebut mendapatkan peristiwa dengan subjek seperti /A/B/C atau /A/D/E. Pelanggan lain dapat memfilter berdasarkan /A/B untuk mendapatkan set peristiwa yang lebih sempit.

Memfilter menurut nilai dalam data acara

Lihat bagian Pemfilteran tingkat lanjut di artikel Event Grid di Azure untuk mempelajari selengkapnya pemfilteran tingkat lanjut. Fitur dan operator berikut tidak didukung oleh Event Grid di Kubernetes.

  • Pemfilteran pada data array dalam peristiwa mendatang
  • Izinkan pemfilteran pada atribut konteks ekstensi CloudEvents.
  • Mengikuti operator
    • StringNotContains
    • StringNotBeginsWith
    • StringNotEndsDengan
    • NumberInRange
    • NumberNotInRange
    • IsNullOrUndefined
    • IsNotNull

Langkah berikutnya

Untuk mempelajari destinasi dan penangan yang didukung oleh Event Grid pada Azure Arc for Kubernetes, lihat Event Grid di Kubernetes - Penanganan aktivitas.