Acara
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Artikel ini menjelaskan berbagai cara untuk filter kejadian mana yang dikirim ke titik akhir Anda. Saat membuat langganan kejadian, Anda memiliki tiga opsi untuk memfilter:
Contoh yang ditunjukkan dalam artikel ini adalah cuplikan JSON untuk menentukan filter dalam templat Azure Resource Manager (ARM). Untuk contoh templat ARM lengkap dan penyebaran templat ARM, lihat Mulai Cepat: Merutekan peristiwa penyimpanan Blob ke titik akhir web menggunakan templat ARM. Berikut beberapa bagian lainnya di sekitar bagian filter
dari contoh dalam mulai cepat. Templat ARM menentukan sumber daya berikut.
filter
Lihat subbagian di bagian langganan peristiwa.Dalam contoh berikut, langganan peristiwa memfilter peristiwa Microsoft.Storage.BlobCreated
dan Microsoft.Storage.BlobDeleted
.
{
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2021-08-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {
"accessTier": "Hot"
}
},
{
"type": "Microsoft.EventGrid/systemTopics",
"apiVersion": "2021-12-01",
"name": "[parameters('systemTopicName')]",
"location": "[parameters('location')]",
"properties": {
"source": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]",
"topicType": "Microsoft.Storage.StorageAccounts"
},
"dependsOn": [
"[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
]
},
{
"type": "Microsoft.EventGrid/systemTopics/eventSubscriptions",
"apiVersion": "2021-12-01",
"name": "[format('{0}/{1}', parameters('systemTopicName'), parameters('eventSubName'))]",
"properties": {
"destination": {
"properties": {
"endpointUrl": "[parameters('endpoint')]"
},
"endpointType": "WebHook"
},
"filter": {
"includedEventTypes": [
"Microsoft.Storage.BlobCreated",
"Microsoft.Storage.BlobDeleted"
]
}
},
"dependsOn": [
"[resourceId('Microsoft.EventGrid/systemTopics', parameters('systemTopicName'))]"
]
}
]
}
Secara default, semua jenis kejadian untuk sumber kejadian dikirim ke titik akhir. Anda dapat memutuskan untuk mengirim hanya jenis kejadian tertentu ke titik akhir Anda. Misalnya, Anda bisa mendapatkan pemberitahuan pembaruan untuk sumber daya Anda, tetapi tidak diberi tahu untuk operasi lain seperti penghapusan. Dalam hal ini, filter menurut Microsoft.Resources.ResourceWriteSuccess
jenis kejadian. Sediakan array dengan jenis kejadian, atau tentukan All
untuk mendapatkan semua jenis kejadian untuk sumber kejadian.
Sintaksis JSON untuk pemfilteran menurut jenis kejadian adalah:
"filter": {
"includedEventTypes": [
"Microsoft.Resources.ResourceWriteFailure",
"Microsoft.Resources.ResourceWriteSuccess"
]
}
Untuk pemfilteran sederhana menurut subjek, tentukan nilai awal atau akhir untuk subjek. Misalnya, Anda dapat menentukan subjek yang diakhiri .txt
untuk hanya mendapatkan kejadian yang terkait dengan mengunggah file teks ke akun penyimpanan. Atau, Anda dapat memfilter subjek dimulai untuk /blobServices/default/containers/testcontainer
mendapatkan semua kejadian untuk kontainer itu tetapi bukan kontainer lain di akun penyimpanan.
Saat menerbitkan kejadian ke topik khusus, buat subjek untuk kejadian Anda yang memudahkan pelanggan untuk mengetahui apakah mereka tertarik dengan kejadian tersebut. Pelanggan menggunakan properti subjek untuk memfilter dan merutekan peristiwa. Pertimbangkan untuk menambahkan jalur tempat kejadian terjadi, sehingga pelanggan dapat memfilter berdasarkan segmen jalur tersebut. Jalur ini memungkinkan pelanggan untuk memfilter kejadian secara sempit atau luas. Jika Anda menyediakan jalur tiga segmen seperti dalam /A/B/C
subjek, pelanggan dapat memfilter berdasarkan segmen pertama /A
untuk mendapatkan serangkaian kejadian yang luas. 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.
Peristiwa blob dapat difilter menurut jenis peristiwa, nama kontainer, atau nama objek yang dibuat atau dihapus.
Subjek kejadian penyimpanan Blob menggunakan format:
/blobServices/default/containers/<containername>/blobs/<blobname>
Untuk mencocokkan semua kejadian akun penyimpanan, Anda dapat membiarkan filter subjek kosong.
Untuk mencocokkan kejadian dari blob yang dibuat dalam sekumpulan kontainer berimbuhan sama, gunakan filter subjectBeginsWith
seperti:
/blobServices/default/containers/containerprefix
Untuk mencocokkan kejadian dari blob yang dibuat dalam kontainer tertentu, gunakan filter subjectBeginsWith
seperti:
/blobServices/default/containers/containername/
Untuk mencocokkan kejadian dari blob yang dibuat dalam kontainer berimbuhan nama blob sama, gunakan filter subjectBeginsWith
seperti:
/blobServices/default/containers/containername/blobs/blobprefix
Untuk mencocokkan peristiwa dari blob yang dibuat di subfolder kontainer tertentu, gunakan subjectBeginsWith
filter seperti:
/blobServices/default/containers/{containername}/blobs/{subfolder}/
Untuk mencocokkan kejadian dari blob yang dibuat dalam kontainer berimbuhan blob sama, gunakan filter subjectEndsWith
seperti ".log" atau ".jpg".
Untuk memfilter menurut nilai di bidang data dan menentukan operator perbandingan, gunakan opsi pemfilteran tingkat lanjut. Dalam pemfilteran tingkat lanjut, Anda menentukan:
key - Bidang dalam data kejadian yang Anda gunakan untuk pemfilteran. Hal ini dapat berupa salah satu dari jenis berikut:
Number
Boolean
String
Array. Anda perlu mengatur enableAdvancedFilteringOnArrays
properti ke true untuk menggunakan fitur ini.
"filter":
{
"subjectBeginsWith": "/blobServices/default/containers/mycontainer/blobs/log",
"subjectEndsWith": ".jpg",
"enableAdvancedFilteringOnArrays": true
}
Untuk kejadian dalam skema Events Cloud, gunakan nilai berikut untuk kunci: eventid
, source
, eventtype
, eventtypeversion
, atau data kejadian (seperti data.key1
).
Jika Anda menggunakan tingkat dasar Event Grid, untuk peristiwa dalam skema Event Grid, gunakan nilai berikut untuk kunci: ID
, , Topic
, EventType
Subject
, DataVersion
atau data peristiwa (seperti data.key1
). Untuk skema input kustom, gunakan bidang data kejadian (seperti data.key1
). Untuk mengakses bidang di bagian data, gunakan .
notasi (titik). Misalnya, data.siteName
, data.appEventTypeDetail.action
untuk mengakses siteName
atau action
untuk contoh kejadian berikut.
"data": {
"appEventTypeDetail": {
"action": "Started"
},
"siteName": "<site-name>",
"clientRequestId": "None",
"correlationRequestId": "None",
"requestId": "292f499d-04ee-4066-994d-c2df57b99198",
"address": "None",
"verb": "None"
},
Catatan
Event Grid tidak mendukung pemfilteran pada array objek. Ini hanya memungkinkan String, Boolean, Numbers, dan Array dari jenis yang sama (seperti array bilangan bulat atau array string).
Nilainya bisa: angka, string, boolean, atau array
Operator yang tersedia untuk nomor adalah:
Operator NumberIn mengevaluasi ke true jika nilai kunci adalah salah satu nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai counter
atribut dalam data
bagian adalah 5 atau 1.
"advancedFilters": [{
"operatorType": "NumberIn",
"key": "data.counter",
"values": [
5,
1
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a, b, c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF filter == key
MATCH
NumberNotIn mengevaluasi ke true jika nilai kunci bukan salah satu nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai counter
atribut dalam data
bagian adalah 41 atau 0.
"advancedFilters": [{
"operatorType": "NumberNotIn",
"key": "data.counter",
"values": [
41,
0
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a, b, c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF filter == key
FAIL_MATCH
Operator NumberLessThan mengevaluasi ke true jika nilai kuncikurang dari nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai counter
atribut dalam data
bagian adalah 100 atau 1.
"advancedFilters": [{
"operatorType": "NumberLessThan",
"key": "data.counter",
"value": 100
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut kode pseudo dengan kunci: [v1, v2, v3]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH key IN (v1, v2, v3)
IF key < filter
MATCH
Operator NumberGreaterThan mengevaluasi ke true jika nilai kuncilebih besar dari nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai counter
atribut dalam data
bagian adalah 20 atau 1.
"advancedFilters": [{
"operatorType": "NumberGreaterThan",
"key": "data.counter",
"value": 20
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut kode pseudo dengan kunci: [v1, v2, v3]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH key IN (v1, v2, v3)
IF key > filter
MATCH
Operator NumberGreaterThan mengevaluasi ke true jika nilai kuncilebih besar dari nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai counter
atribut dalam data
bagian adalah 100 atau 1.
"advancedFilters": [{
"operatorType": "NumberLessThanOrEquals",
"key": "data.counter",
"value": 100
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut kode pseudo dengan kunci: [v1, v2, v3]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH key IN (v1, v2, v3)
IF key <= filter
MATCH
Operator NumberGreaterThan mengevaluasi ke true jika nilai kuncilebih besar dari nilai filter yang ditentukan. Dalam contoh berikut, ini memeriksa apakah nilai counter
atribut di data
bagian lebih besar dari atau sama dengan 30.
"advancedFilters": [{
"operatorType": "NumberGreaterThanOrEquals",
"key": "data.counter",
"value": 30
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut kode pseudo dengan kunci: [v1, v2, v3]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH key IN (v1, v2, v3)
IF key >= filter
MATCH
Operator NumberIn mengevaluasi ke true jika nilai kunci adalah salah satu nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai key1
atribut di bagian data
ada di salah satu dari dua rentang: 3.14159 - 999.95, 3000 - 4000.
{
"operatorType": "NumberInRange",
"key": "data.key1",
"values": [[3.14159, 999.95], [3000, 4000]]
}
Properti values
adalah array rentang. Dalam contoh sebelumnya, ini adalah array dari dua rentang. Berikut ini contoh array dengan satu rentang untuk diperiksa.
Array dengan satu rentang:
{
"operatorType": "NumberInRange",
"key": "data.key1",
"values": [[3000, 4000]]
}
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: array rentang. Dalam kode pseudo ini, a
dan b
adalah nilai rendah dan tinggi dari setiap rentang dalam array. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH (a,b) IN filter.Values
FOR_EACH key IN (v1, v2, v3)
IF key >= a AND key <= b
MATCH
Operator NumberNotInRange mengevaluasi ke true jika nilai kunci tidak berada dalam salah satu rentang filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai key1
atribut di bagian data
ada di salah satu dari dua rentang: 3.14159 - 999.95, 3000 - 4000. Jika ya, operator mengembalikan false.
{
"operatorType": "NumberNotInRange",
"key": "data.key1",
"values": [[3.14159, 999.95], [3000, 4000]]
}
Properti values
adalah array rentang. Dalam contoh sebelumnya, ini adalah array dari dua rentang. Berikut ini contoh array dengan satu rentang untuk diperiksa.
Array dengan satu rentang:
{
"operatorType": "NumberNotInRange",
"key": "data.key1",
"values": [[3000, 4000]]
}
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: array rentang. Dalam kode pseudo ini, a
dan b
adalah nilai rendah dan tinggi dari setiap rentang dalam array. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH (a,b) IN filter.Values
FOR_EACH key IN (v1, v2, v3)
IF key >= a AND key <= b
FAIL_MATCH
Operator yang tersedia untuk booleans adalah:
Operator BoolEquals mengevaluasi ke true jika nilai kuncinya adalah filter nilai boolean yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai atribut isEnabled
di bagian data
adalah true
.
"advancedFilters": [{
"operatorType": "BoolEquals",
"key": "data.isEnabled",
"value": true
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut kode pseudo dengan kunci: [v1, v2, v3]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH key IN (v1, v2, v3)
IF filter == key
MATCH
Operator yang tersedia untuk string adalah:
StringContains mengevaluasi ke true jika nilai kunci berisi salah satu nilai filter yang ditentukan (sebagai substring). Dalam contoh berikut, ia memeriksa apakah nilai key1
atribut dalam data
bagian berisi salah satu substring yang ditentukan: microsoft
atau azure
. Misalnya, azure data factory
ada di azure
dalamnya.
"advancedFilters": [{
"operatorType": "StringContains",
"key": "data.key1",
"values": [
"microsoft",
"azure"
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a,b,c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF key CONTAINS filter
MATCH
Operator StringNotContains mengevaluasi ke true jika kuncitidak berisi nilai filter yang ditentukan sebagai substring. Jika kunci berisi salah satu nilai yang ditentukan sebagai substring, operator mengevaluasi ke false. Dalam contoh berikut, operator mengembalikan true hanya jika nilai key1
atribut di bagian data
tidak memiliki contoso
dan fabrikam
sebagai substring.
"advancedFilters": [{
"operatorType": "StringNotContains",
"key": "data.key1",
"values": [
"contoso",
"fabrikam"
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a,b,c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF key CONTAINS filter
FAIL_MATCH
Lihat Pembatasan untuk batasan operator ini saat ini.
Operator StringBeginsWith mengevaluasi ke true jika nilai kuncidimulai dengan salah satu nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai key1
atribut data
di bagian diawali dengan event
atau message
.
event hubs
Misalnya, dimulai dengan event
.
"advancedFilters": [{
"operatorType": "StringBeginsWith",
"key": "data.key1",
"values": [
"event",
"message"
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a,b,c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF key BEGINS_WITH filter
MATCH
Operator StringBeginsWith mengevaluasi ke true jika nilai kuncidimulai dengan salah satu nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai key1
atribut di data
bagian diawali dengan event
atau message
.
"advancedFilters": [{
"operatorType": "StringNotBeginsWith",
"key": "data.key1",
"values": [
"event",
"message"
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a,b,c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF key BEGINS_WITH filter
FAIL_MATCH
Operator StringEndsWith mengevaluasi ke true jika nilai kuncidiakhiri dengan salah satu nilai filter yang ditentukan. Dalam contoh berikut, ini memeriksa apakah nilai key1
atribut di data
bagian diakhiri dengan jpg
atau jpeg
atau png
. Misalnya, eventgrid.png
diakhiri dengan png
.
"advancedFilters": [{
"operatorType": "StringEndsWith",
"key": "data.key1",
"values": [
"jpg",
"jpeg",
"png"
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a,b,c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF key ENDS_WITH filter
MATCH
Operator StringBeginsWith mengevaluasi ke true jika nilai kuncidimulai dengan salah satu nilai filter yang ditentukan. Dalam contoh berikut, ini memeriksa apakah nilai key1
atribut di data
bagian tidak diakhiri dengan jpg
atau jpeg
atau png
.
"advancedFilters": [{
"operatorType": "StringNotEndsWith",
"key": "data.key1",
"values": [
"jpg",
"jpeg",
"png"
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a,b,c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF key ENDS_WITH filter
FAIL_MATCH
Operator StringIn memeriksa apakah nilai kunci sama persis dengan salah satu nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai key1
atribut di data
bagian adalah contoso
atau fabrikam
atau factory
.
"advancedFilters": [{
"operatorType": "StringIn",
"key": "data.key1",
"values": [
"contoso",
"fabrikam",
"factory"
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a,b,c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF filter == key
MATCH
Operator StringNotIn memeriksa apakah nilai kuncitidak cocok dengan salah satu nilai filter yang ditentukan. Dalam contoh berikut, ia memeriksa apakah nilai key1
atribut di data
bagian bukan aws
dan bridge
.
"advancedFilters": [{
"operatorType": "StringNotIn",
"key": "data.key1",
"values": [
"aws",
"bridge"
]
}]
Jika kunci adalah array, semua nilai dalam array dicentang terhadap array nilai filter. Berikut adalah kode pseudo dengan kunci: [v1, v2, v3]
dan filter: [a,b,c]
. Nilai kunci apa pun dengan jenis data yang tidak cocok dengan jenis data filter diabaikan.
FOR_EACH filter IN (a, b, c)
FOR_EACH key IN (v1, v2, v3)
IF filter == key
FAIL_MATCH
Semua perbandingan string tidak peka huruf besar/kecil.
Catatan
Jika JSON peristiwa tidak berisi kunci filter tingkat lanjut, filter dievaluasi sebagai tidak cocok untuk operator berikut: NumberGreaterThan, NumberGreaterThanOrEquals, NumberLessThan, NumberLessThanOrEquals, NumberIn, BoolEquals, StringContains, StringNotContains, StringBeginsWith, StringNotBeginsWith, StringEndsWith, StringNotEndsWith, StringIn.
Filter dievaluasi sebagaimana dicocokkan untuk operator berikut: NumberNotIn, StringNotIn.
Operator IsNullOrUndefined mengevaluasi ke true jika nilai kunci adalah NULL atau tidak terdefinisi.
{
"operatorType": "IsNullOrUndefined",
"key": "data.key1"
}
Dalam contoh berikut, key1 hilang, sehingga operator akan mengevaluasi ke true.
{
"data":
{
"key2": 5
}
}
Dalam contoh berikut, key1 hilang, sehingga operator akan mengevaluasi ke true.
{
"data":
{
"key1": null
}
}
Jika key1 memiliki nilai lain dalam contoh ini, operator akan mengevaluasi ke false.
Operator IsNotNull mengevaluasi ke true jika nilai kunci tidak NULL atau tidak terdefinisi.
{
"operatorType": "IsNotNull",
"key": "data.key1"
}
Jika Anda menentukan filter tunggal dengan beberapa nilai, operasi OR dilakukan, sehingga nilai bidang kunci harus menjadi salah satu nilai ini. Berikut contohnya:
"advancedFilters": [
{
"operatorType": "StringContains",
"key": "Subject",
"values": [
"/providers/microsoft.devtestlab/",
"/providers/Microsoft.Compute/virtualMachines/"
]
}
]
Jika Anda menentukan beberapa filter berbeda, operasi AND selesai, sehingga setiap kondisi filter harus terpenuhi. Berikut contohnya:
"advancedFilters": [
{
"operatorType": "StringContains",
"key": "Subject",
"values": [
"/providers/microsoft.devtestlab/"
]
},
{
"operatorType": "StringContains",
"key": "Subject",
"values": [
"/providers/Microsoft.Compute/virtualMachines/"
]
}
]
Untuk kejadian dalam skema CloudEvents, gunakan nilai berikut untuk kunci: eventid
, source
, eventtype
, eventtypeversion
, atau data kejadian (seperti data.key1
).
Anda juga dapat menggunakan atribut konteks ekstensi di CloudEvents 1.0. Dalam contoh berikut, comexampleextension1
dan comexampleothervalue
merupakan atribut konteks ekstensi.
{
"specversion" : "1.0",
"type" : "com.example.someevent",
"source" : "/mycontext",
"id" : "C234-1234-1234",
"time" : "2018-04-05T17:31:00Z",
"subject": null,
"comexampleextension1" : "value",
"comexampleothervalue" : 5,
"datacontenttype" : "application/json",
"data" : {
"appinfoA" : "abc",
"appinfoB" : 123,
"appinfoC" : true
}
}
Berikut ini contoh penggunaan atribut konteks ekstensi dalam filter.
"advancedFilters": [{
"operatorType": "StringBeginsWith",
"key": "comexampleothervalue",
"values": [
"5",
"1"
]
}]
Pemfilteran tingkat lanjut memiliki batasan berikut:
.
karakter (titik) di dalamnya. Sebagai contoh: http://schemas.microsoft.com/claims/authnclassreference
atau john.doe@contoso.com
. Saat ini, tidak ada dukungan untuk karakter escape di kunci.Kunci yang sama dapat digunakan di lebih dari satu filter.
Acara
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangPelatihan
Jalur pembelajaran
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Dokumentasi
Skema langganan Azure Event Grid - Azure Event Grid
Artikel ini menjelaskan properti untuk berlangganan peristiwa dengan Azure Event Grid. Skema langganan Event Grid.
Pengiriman dan percobaan ulang Azure Event Grid - Azure Event Grid
Artikel ini menjelaskan cara Azure Event Grid mengirimkan peristiwa dan caranya menangani pesan yang tidak terkirim.
Skema peristiwa Azure Event Grid - Azure Event Grid
Menjelaskan properti dan skema untuk format Event Grid milik, tidak dapat diperluas, namun berfungsi penuh.