Event Grid を使ったイベント駆動アーキテクチャ

Azure Storage 開発

Shahzad Mian

Content Developer, DataCamp

イベント駆動アーキテクチャの概要

 

Screenshot 2025-10-26 at 10.35.27 pm.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 開発

課題: トリガーが多すぎる

Screenshot 2025-10-27 at 6.41.44 pm.png

  • Cipher Coffee のシステムは常にイベントを生成しています:

    • 新しい Blob がアップロードされる。
    • 注文が入る。
    • 在庫データが変更される。
  • ポーリングとは、アプリケーションが継続的に更新を確認することです。

Azure Storage 開発

Event Grid

Event Grid の画像

 

 

 

  • Event Grid はリアルタイムで通知を配信することでこの問題を解決します。
Azure Storage 開発

Event Grid とは?

Event Grid の図

  • Azure Event Grid はフルマネージドのイベントルーティングサービスです。
  • パブリッシャーからサブスクライバーへイベントを自動配信します。

  • パブリッシュ/サブスクライブモデルを採用:

    • パブリッシャーがイベントを発行します(例: Blob が作成された)。
    • サブスクライバーがリアルタイムでそのイベントに反応します。
  • 代表的なサブスクライバーは Azure Functions と Logic Apps です。

Azure Storage 開発

イベントのワークフロー

  • パブリッシャーがイベントを生成します(例: 新しい Blob が作成される)。
  • Event Grid がそのイベントを受け取り、サブスクライバーにルーティングします。
  • サブスクライバー(Azure Functions や Logic Apps など)が自動的に実行されます。
  • 各接続はイベントサブスクリプションと呼ばれます。

イベントのワークフロー

Azure Storage 開発

Cipher Coffee の例

  • Cipher Coffee のマーケティングチームが Blob Storage に新しい商品写真をアップロードします。
  • そのアップロードが Event Grid をトリガーします。
  • Event Grid が Azure Functions に通知を転送します。
  • Functions が自動的に画像をリサイズし、Web サイトのギャラリーを更新します。
  • 手動操作も待機も不要 — 即時に自動化されます。

Cipher Coffee の例

Azure Storage 開発

イベントソースとハンドラー

Screenshot 2025-10-27 at 7.16.33 pm.png

  • イベントソース: イベントの発生元。
    • ストレージアカウント、リソースグループ、Event Hubs、IoT Hubs。
  • イベントハンドラー: イベントの配信先。
    • Azure Functions、Logic Apps、Webhooks、Service Bus Topics。
  • Event Grid が動的に接続します — ポーリング不要。
Azure Storage 開発

イベントスキーマ

  • 標準 JSON

Screenshot 2025-12-03 at 3.22.25 pm.png

Azure Storage 開発

システムイベントとカスタムイベント

Screenshot 2025-10-27 at 7.38.52 pm.png

  • システムイベント: Azure サービスが自動生成するイベント。
    • 例: Blob の作成、VM の削除、リソースの更新。
  • カスタムイベント: 独自アプリケーションが発行するイベント。
    • 例: Cipher Coffee の注文サービスが発行する "NewOrderCreated"。
  • 両タイプとも同じイベントルーティングパターンに従います。
Azure Storage 開発

Event Grid のメリット

  • サーバーレスかつスケーラブル — フルマネージドで、インフラ管理が不要。

クラウドコンピューティング

  • 信頼性の高い配信 — 失敗したイベントの再試行とデッドレタリングに対応。

握手のイメージ

  • リアルタイムの反応 — 数秒でイベントを配信。

時計

  • 幅広い統合 — Functions、Logic Apps、サードパーティ API と連携。

インテグレーション

Azure Storage 開発

イベントのフィルタリングとルーティング

  • Event Grid は配信前にイベントをフィルタリングできます。
  • 以下の条件でフィルターを設定できます:
    • イベントタイプ(例: Blob Created のみ)。
    • サブジェクトパターン(例: "images/" 内のファイル)。
  • サブスクライバーは関連するイベントのみを受信できます。

Screenshot 2025-10-27 at 7.49.11 pm.png

Azure Storage 開発

練習しましょう!

Azure Storage 開発

Preparing Video For Download...