Azure Service Bus が Azure Event Grid と統合

執筆者: Christian Wolf (Program Manager)

このポストは、2018 年 2 月 26 日に投稿された Azure Service Bus now integrates with Azure Event Grid! の翻訳です。

 

このたび、Azure Service Bus から Azure Event Grid にイベントを送信できるようになりました。これにより、メッセージ量の少ない Service Bus のキュー、トピック、サブスクリプションに関して、レシーバーが常にポーリングする必要がなくなります。使用可能なレシーバーがなく、キューにメッセージが存在する場合には、Service Bus から Azure Event Grid にイベントが送信されます。Azure Event Grid サブスクリプションを Service Bus 名前空間に作成して、イベントをリッスンし、レシーバーを起動してイベントに対応することができます。この機能では、リアクティブ プログラミング モデルで Service Bus を利用することができます。 Service Bus to Event Grid integration

現在 Azure Service Bus では、次の 2 つのシナリオのイベントを送信しています。

  • リスナーがない状態でアクティブなメッセージがある
  •  配信されないメッセージがある

また、Azure Event Grid の標準セキュリティ機能と認証メカニズムを採用しています。

イベント発行の頻度と数

名前空間内に複数のキュー、トピック/サブスクリプションがある場合、キューやサブスクリプションにつき 1 つ以上のイベントを受信します。Service Bus のエンティティにメッセージがない場合、新しいメッセージが届くと直ちにイベントが発行されます。Azure Service Bus がアクティブなレシーバーを認識しない限りは 2 分間隔で発行されます。メッセージを参照してもイベントが中断されることはありません。

既定では、Azure Service Bus は名前空間のすべてのエンティティのイベントを発行します。特定のエンティティのみのイベントを取得したい場合は、フィルター処理に関する以下のセクションをご覧ください。

フィルター処理とイベントの取得元の制限

イベント取得を名前空間内の 1 つのキューまたは 1 つのサブスクリプションに制限したい場合は、Azure Event Grid の「Begins with」または「Ends with」というフィルターを使用します。一部のインターフェイスでは、これらを「プレ」フィルター、「サフィックス」フィルターと呼びます。すべてのキューやサブスクリプションではなく、複数からのイベントを取得したい場合は、Azure Event Grid サブスクリプションを必要な数だけ作成して、それぞれのキューやサブスクリプションにフィルターを適用します。

現在のリリースでは、この機能は Event Grid の全リージョンの Premium レベルの名前空間のみで利用することができます。今後は Standard レベルの名前空間でもサポートされる予定です。

  •  今すぐお試しになる場合は、ドキュメント ページで公開しているサンプルを参考にしてください。