本文說明與推送傳遞相關的主要事件方格概念。
附註
如需與使用命名空間之新資源模型相關的事件方格概念,請參閱這篇概念文章。
事件
事件是完整描述系統中發生內容的最小量資訊。 每個事件都有共同資訊,例如 source 事件內容、事件發生地點 time 及唯一識別碼。 每個活動都有專門的資訊,且這些資訊只適用於特定類型的活動。 例如,在 Azure 儲存體中建立新檔案的相關事件含有該檔案相關詳細資料,例如 lastTimeModified 值。 事件中樞事件含有「擷取」檔案的 URL。 「訂單」微服務中新訂單的相關事件可能會有 orderId 屬性,以及訂單狀態表示法的 URL 屬性。
CloudEvents
Event Grid 採用 Cloud Native Computing Foundation(CNCF)開放標準 CloudEvents 1.0 規範,包含 HTTP 協定綁定 與 JSON 格式。 CloudEvents 是一個可擴充的事件規範,並有針對特定需求的文件擴充。 CloudEvents 因其詳盡的使用案例(事件傳輸模式 、 事件格式等)、可擴充性及提升的互通性,成為首選事件格式。 CloudEvents 藉由提供用於發佈和取用事件的常見事件格式來改善互通性。 它允許統一的工具設計及標準化的事件路由與處理方式。
下表顯示目前支援的 CloudEvents 規格:
| CloudEvents 內容模式 | 是否支援? |
|---|---|
| 結構化 JSON | 是 |
| 二進位 | 否 |
允許的事件大小上限是 1 MB。 超過 64 KB 的事件會以 64 KB 遞增計費。 如需了解隨事件傳送的屬性,請參閱 CloudEvents 結構描述。
其他格式
事件方格也支援系統事件發行者的專屬事件方格結構描述格式。 您可以將事件方格設定為使用 CloudEvents 格式傳遞事件。
發行者
發行者是指將事件傳送至事件方格的應用程式。 可以是產生事件所在的相同應用程式,即事件來源。 Azure 服務會將事件發佈至事件方格,以在其服務中宣佈發生事件。 您可以從您自己的應用程式發行事件。 裝載 Azure 外部服務的組織也可以透過事件方格發佈事件。
事件來源
事件來源是事件發生的位置。 每個事件來源都與一或多個事件類型相關。 例如,Azure 儲存體是 Blob 建立事件的事件來源。 IoT 中樞是裝置建立事件的事件來源。 您的應用程式是您定義之自訂事件本身的事件來源。 事件來源負責將事件傳送至事件方格。
合作夥伴
合作夥伴是一種發行者,會從自己的系統傳送事件給 Azure 客戶。 合作夥伴通常是軟體即服務(SaaS)或 企業資源規劃(ERP) 供應商,與 Azure Event Grid 整合,協助客戶實現跨平台的事件驅動應用案例。 合作夥伴不僅可以將事件發佈至 Azure 事件方格,也可以從中接收事件。 這些功能是透過 Partner Center Events 功能來啟用。
主題
主題包含你發佈到事件網格的事件。 您通常會針對相關事件的集合使用主題資源。 若要回應某些類型的事件,訂閱者 (Azure 服務或其他應用程式) 會決定要訂閱的主題。 有數種主題:自訂主題、系統主題和合作夥伴主題。
自訂主題
自訂主題也是你在申請中使用的主題。 它們是首批被設計用來為自定義應用程式建立事件驅動整合的主題類型。 它們作為獨立的資源,會開放自己的端點,以便您將事件發佈到該端點。
自訂主題支援推送傳遞。 請參閱使用提取或推送傳遞的時機,以協助您決定推送傳遞是否為符合需求的正確方法。 您也可以參考自訂主題一文。
系統主題
系統主題是由 Azure 儲存體、Azure 事件中樞、Azure 服務匯流排等 Azure 服務提供的內建主題。 您可以在 Azure 訂用帳戶中建立系統主題並加以訂閱。 如需詳細資訊,請參閱系統主題概觀。
合作夥伴主題
合作夥伴主題是一種用於訂閱合作夥伴發佈事件的主題。 啟用這類整合的功能稱為 Partner Events。 這類整合讓您能夠取得提供合作夥伴系統事件的合作夥伴主題。 一旦有了合作主題,你就可以像對其他主題一樣創建 活動訂閱。
事件訂閱
附註
關於命名空間主題下的活動訂閱資訊, 請參閱此概念 條目。
訂閱會告知事件方格您有興趣接收的主題事件。 建立訂閱時,您會提供用於處理事件的端點。 端點可以是 Webhook 或 Azure 服務資源。 您可以篩選傳送至端點的事件。 舉例來說,您可以依事件類型或事件主旨進行篩選。 如需詳細資訊,請參閱事件訂閱與 CloudEvents 結構描述。 自訂、系統、合作夥伴主題及網域的活動訂閱皆具備相同的資源屬性。
關於為自訂、系統、合作夥伴主題及網域建立訂閱的範例,請參見:
如需取得目前 Event Grid 訂閱的資訊,請參閱查詢事件方格訂用帳戶。
事件訂用帳戶到期時間
你可以設定與自訂、系統、合作夥伴及網域主題相關的活動訂閱,以及網域訂閱的有效期限。 活動訂閱在該日期後自動到期。 設定您需要限時的訂用帳戶到期日,即無須擔心清理這些訂用帳戶的工作。 例如,在測試案例中建立事件訂用帳戶時,您可以設定到期日。
如需設定到期日的範例,請參閱使用進階篩選訂閱。
事件處理常式
從事件方格的觀點而言,當使用推送傳遞時,事件處理常式是傳送事件的位置。 處理常式會採取進一步動作來處理事件。 Event Grid 中的推送傳遞支援多種處理類型。 您可以使用支援的 Azure 服務,或您自己的 Webhook 作為處理常式。 依據處理常式的類型,事件方格會遵循不同機制來保證事件的傳遞。 針對 HTTP Webhook 事件處理常式,在處理常式傳回 200 – OK 的狀態碼之前,會一直重試事件。 針對 Azure 儲存體佇列,在佇列服務成功處理推送至佇列的訊息之前,會一直重試事件。
若需了解事件如何傳遞至支援的 Event Grid 處理常式,請參閱 Azure 事件方格中的事件處理常式。
安全性
事件方格提供訂閱主題以及將事件發佈至主題時的安全性。 訂閱時,您必須擁有事件方格主題的適當權限。 如果您使用推送傳遞,且事件處理程式是 Azure 服務,而管理身份用於驗證 Event Grid,則該管理身份應具有適當的 RBAC 角色。 例如,如果你將事件傳送到事件中心,事件訂閱中使用的管理身份應該是事件中心資料發送者角色的成員。 發佈時,您必須擁有主題的 SAS 權杖或金鑰驗證。 如需詳細資訊,請參閱事件方格安全性和驗證。
事件傳遞
如果事件網格無法確認訂閱端點在使用推送時是否收到事件,則會重新傳遞該事件。 如需詳細資訊,請參閱事件方格訊息傳遞與重試。
批次處理
使用自訂主題時,必須以陣列形式發佈事件。 在低輸送量案例下,它可以是其中的一批。
內嵌事件類型定義
如果您是合作夥伴,可以在建立管道時定義可供客戶使用的事件類型。 使用內嵌事件類型定義,訂閱者可以在設定事件訂用帳戶時輕鬆地依事件類型篩選事件。
可用性區域
每個可容忍本機失敗的 Azure 區域中,Azure 可用性區域的實際位置都不同。 這些區域透過高效能網路連接,來回延遲小於 2 毫秒。 每個可用性區域皆由一或多個配備獨立電力、冷卻系統及網路基礎結構的資料中心所組成。 若其中一個區域受影響,剩餘兩個區域則支援區域服務、容量及高可用性。 如需可用性區域的詳細資訊,請參閱地區與可用性區域。
相關內容
- 如需事件方格的簡介,請參閱關於事件方格。
- 若要開始使用自訂主題,請參閱使用 Azure 事件方格建立和路由傳送自訂事件。