使用 Event Grid 的事件驅動架構

開發 Azure Storage

Shahzad Mian

Content Developer, DataCamp

事件驅動架構入門

 

螢幕截圖 2025-10-26 晚上 10.35.27.png

  • 現代系統隨時在產生事件。
  • Azure Event Grid 即時把事件連到對的服務。
  • 它是 Azure 事件驅動架構的骨幹。
開發 Azure Storage

事件驅動架構

  • 說明 Azure Event Grid 是什麼與其運作方式。
    • 辨識事件來源與處理器。
    • 描述 Event Grid 如何支援即時、事件驅動的工作流程。
    • 將這些概念套用到 Cipher Coffee 的營運。

 

 

Event grid

1 https://azure.microsoft.com/en-us/blog/introducing-azure-event-grid-an-event-service-for-modern-applications/
開發 Azure Storage

挑戰:觸發器太多

螢幕截圖 2025-10-27 下午 6.41.44.png

  • Cipher Coffee 的系統持續產生事件:

    • 新的 blob 已上傳。
    • 產生新訂單。
    • 庫存資料變更。
  • 輪詢是指應用程式不斷檢查是否有更新。

開發 Azure Storage

Event Grid

Event grid image

 

 

 

  • Event Grid 以即時通知解決此問題。
開發 Azure Storage

什麼是 Event Grid?

Event grid diagram

  • Azure Event Grid 是全受管的事件路由服務
  • 它會自動把事件從發佈者傳遞給訂閱者

  • 採用發佈-訂閱模型

    • 發佈者送出事件(例如:Blob created)。
    • 訂閱者即時回應這些事件。
  • 常見訂閱者包括 Azure FunctionsLogic Apps

開發 Azure Storage

事件工作流程

  • 發佈者產生事件,例如建立新的 blob。
  • Event Grid 擷取事件並路由到訂閱者
  • 訂閱者(如 Azure Function 或 Logic App)自動執行。
  • 每個連線稱為一個事件訂閱(Event Subscription)

事件工作流程

開發 Azure Storage

Cipher Coffee 範例

  • Cipher Coffee 的行銷團隊把新產品照上傳到 Blob Storage。
  • 該上傳會觸發 Event Grid。
  • Event Grid 將通知轉送到 Azure Function。
  • Function 會自動調整圖片大小並更新網站相簿。
  • 無需人工、無需等待,即時自動化。

Cipher Coffee 範例

開發 Azure Storage

事件來源與處理器

螢幕截圖 2025-10-27 下午 7.16.33.png

  • 事件來源(Event Sources):事件的起點。
    • Storage accounts、Resource Groups、Event Hubs、IoT Hubs。
  • 事件處理器(Event Handlers):事件的投遞目標。
    • Azure Functions、Logic Apps、Webhooks、Service Bus Topics。
  • Event Grid 動態連結兩端,無需輪詢。
開發 Azure Storage

事件結構(Schema)

  • 標準 JSON

螢幕截圖 2025-12-03 下午 3.22.25.png

開發 Azure Storage

System Events 與 Custom Events

螢幕截圖 2025-10-27 下午 7.38.52.png

  • 系統事件(System Events):由 Azure 服務自動產生。
    • 例如:建立 blob、刪除 VM、更新資源。
  • 自訂事件(Custom Events):由你自己的應用程式發佈。
    • 例如:Cipher Coffee 的訂單服務發佈「NewOrderCreated」。
  • 兩者皆遵循相同的事件路由模式。
開發 Azure Storage

Event Grid 的優點

  • 無伺服器且可擴充——全受管,無需管理基礎架構。

雲端運算

  • 可靠投遞——包含重試與死信處理。

握手

  • 即時回應——數秒內送達事件。

時鐘

  • 廣泛整合——可搭配 Functions、Logic Apps 與第三方 API。

整合

開發 Azure Storage

事件篩選與路由

  • Event Grid 可在投遞前先篩選事件。
  • 你可以依下列項目加上篩選:
    • 事件類型(例如只要 Blob Created)。
    • 主旨樣式(例如「images/」底下的檔案)。
  • 如此可確保訂閱者只收到相關事件。

螢幕截圖 2025-10-27 下午 7.49.11.png

開發 Azure Storage

一起來練習吧!

開發 Azure Storage

Preparing Video For Download...