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 を利用することができます。
現在 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 レベルの名前空間でもサポートされる予定です。
- 詳しくは技術資料をご覧ください。
- 今すぐお試しになる場合は、ドキュメント ページで公開しているサンプルを参考にしてください。