Kubernetes 上的事件方格 - 訂用帳戶的事件篩選
Kubernetes 上的事件方格允許對 json 承載中的任何屬性指定篩選。 這些篩選會模型化為一組 AND 條件,且每個外部條件都有選擇性的內部 OR 條件。 對於每個 AND 條件,您可以指定下列值:
- OperatorType - 比較的類型。
- Key - 要套用篩選之屬性的 json 路徑。
- Value - 據以執行篩選的參考值 (或) Values - 據以執行篩選的一組參考值。
重要
具有 Azure Arc 的 Kubernetes 上的事件方格目前處於公開預覽狀態。 此預覽版本是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款。
依事件類型進行篩選
根據預設,事件來源的所有事件類型 (type
屬性) 都會傳送至端點。 您可以決定只將特定事件類型傳送至端點。 依事件類型篩選的 JSON 語法為:
"filter": {
"includedEventTypes": [
"orderCreated",
"orderUpdated"
]
}
在上述範例中,只有類型 orderCreated
的事件和 orderUpdated
事件會傳送至訂閱者端點。
以下是範例事件:
[{
"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"
}
}]
依主旨進行篩選
若要依主旨進行簡單的篩選,請指定主旨的起始值或結束值。 依主體篩選的 JSON 語法為:
"filter": {
"subjectBeginsWith": "/account/acct-123224/"
}
例如,上方設定的篩選會將所有與帳戶 acct-123224
相關聯的訂單傳送至訂閱者端點。
將事件發佈至主題時,可為您的事件建立主旨,以便訂閱者輕鬆了解他們是否對該事件感興趣。 訂閱者使用主旨屬性以篩選和路由事件。 請考慮新增事件發生之位置的路徑,以便訂閱者可以根據該路徑的區段進行篩選。 路徑可讓訂閱者縮小或擴大篩選事件。 如果您在主旨中提供三區段路徑 (例如 /A/B/C),訂閱者可根據第一個區段 /A 進行篩選,以取得一組廣泛的事件。 這些訂閱者可使用 /A/B/C 或 /A/D/E 之類的主旨來取得事件。 其他訂閱者可以根據 /A/B 篩選,以取得一組範圍較小的事件。
依事件資料中的值進行篩選
請參閱 Azure 上的事件方格一文中的進階篩選小節,以深入了解進階篩選。 Kubernetes 上的事件方格不支援下列功能和運算子。
- 篩選傳入事件之索引鍵中的陣列資料
- 允許篩選 CloudEvents 擴充功能內容屬性。
- 下列運算子
- StringNotContains
- StringNotBeginsWith
- StringNotEndsWith
- NumberInRange
- NumberNotInRange
- IsNullOrUndefined
- IsNotNull
下一步
若要了解適用於 Kubernetes 的 Azure Arc 事件方格所支援的目的地和處理常式,請參閱 Kubernetes 上的事件方格 - 事件處理常式。