この記事では、Service Bus イベントのプロパティとスキーマについて説明します。 イベント スキーマの概要については、「Azure Event Grid イベント スキーマ」を参照してください。
注
イベント統合をサポートするのは、Premium レベルの Service Bus 名前空間のみです。 Basic レベルと Standard レベルでは、Event Grid との統合はサポートされていません。
使用可能なイベントの種類
Service Bus は、次のイベントの種類を出力します。
イベントの種類 | 説明 |
---|---|
Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners |
新しいアクティブなメッセージがキューまたはサブスクリプションに到着し、リッスンしている受信者がいない場合に発生します。 |
Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners |
新しいアクティブなメッセージが配信不能キューに到着し、アクティブなリスナーが存在しない場合に発生します。 |
Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications |
キューまたはサブスクリプションにアクティブなメッセージがある場合、その特定のキューまたはサブスクリプションにアクティブなリスナーがある場合でも、30 秒ごとに発生します。 また、アクティブなメッセージ数が 0 からキューまたはサブスクリプションの正の値に移行したときにも発生します。 |
Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications |
キューまたはサブスクリプションの配信不能エンティティにメッセージがある場合、その特定のキューまたはサブスクリプションの配信不能エンティティにアクティブなリスナーがある場合でも、30 秒ごとに発生します。 また、配信不能メッセージ数が 0 からキューまたはサブスクリプションの配信不能エンティティの正の値に遷移したときにも発生します。 |
イベントの例
リスナーなしで使用可能なアクティブなメッセージ
このイベントは、キューまたはサブスクリプションにアクティブなメッセージがあり、リッスンしている受信者がいない場合に生成されます。
[{
"topic": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}",
"subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}",
"eventType": "Microsoft.ServiceBus.ActiveMessagesAvailableWithNoListeners",
"eventTime": "2018-02-14T05:12:53.4133526Z",
"id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
"data": {
"namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
"requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/messages/head",
"entityType": "subscriber",
"queueName": "QUEUE NAME IF QUEUE",
"topicName": "TOPIC NAME IF TOPIC",
"subscriptionName": "SUBSCRIPTION NAME"
},
"dataVersion": "1",
"metadataVersion": "1"
}]
リスナーなしで使用できる配信不能メッセージ
配信不能キュー イベントのスキーマは似ています。 配信不能キューごとに、メッセージがあり、アクティブなレシーバーがないイベントが少なくとも 1 つ発生します。
[{
"topic": "/subscriptions/{subscription-id}/resourcegroups/{your-rg}/providers/Microsoft.ServiceBus/namespaces/{your-service-bus-namespace}",
"subject": "topics/{your-service-bus-topic}/subscriptions/{your-service-bus-subscription}",
"eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailableWithNoListeners",
"eventTime": "2018-02-14T05:12:53.4133526Z",
"id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
"data": {
"namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
"requestUri": "https://{your-service-bus-namespace}.servicebus.windows.net/{your-topic}/subscriptions/{your-service-bus-subscription}/$deadletterqueue/messages/head",
"entityType": "subscriber",
"queueName": "QUEUE NAME IF QUEUE",
"topicName": "TOPIC NAME IF TOPIC",
"subscriptionName": "SUBSCRIPTION NAME"
},
"dataVersion": "1",
"metadataVersion": "1"
}]
アクティブなメッセージの利用可能な定期的な通知
このイベントは、特定のキューまたはサブスクリプションにアクティブなメッセージがある場合、その特定のキューまたはサブスクリプションのアクティブなリスナーがある場合でも、定期的に生成されます。
[{
"topic": "/subscriptions/<subscription id>/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/<YOUR SERVICE BUS NAMESPACE WILL SHOW HERE>",
"subject": "topics/<service bus topic>/subscriptions/<service bus subscription>",
"eventType": "Microsoft.ServiceBus.ActiveMessagesAvailablePeriodicNotifications",
"eventTime": "2018-02-14T05:12:53.4133526Z",
"id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
"data": {
"namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
"requestUri": "https://YOUR-SERVICE-BUS-NAMESPACE-WILL-SHOW-HERE.servicebus.windows.net/TOPIC-NAME/subscriptions/SUBSCRIPTIONNAME/$deadletterqueue/messages/head",
"entityType": "subscriber",
"queueName": "QUEUE NAME IF QUEUE",
"topicName": "TOPIC NAME IF TOPIC",
"subscriptionName": "SUBSCRIPTION NAME"
},
"dataVersion": "1",
"metadataVersion": "1"
}]
配信不能メッセージの利用可能な定期的な通知
このイベントは、特定のキューまたはサブスクリプションの配信不能エンティティにアクティブなリスナーがある場合でも、特定のキューまたはサブスクリプションに配信不能メッセージがある場合に定期的に生成されます。
[{
"topic": "/subscriptions/<subscription id>/resourcegroups/DemoGroup/providers/Microsoft.ServiceBus/namespaces/<YOUR SERVICE BUS NAMESPACE WILL SHOW HERE>",
"subject": "topics/<service bus topic>/subscriptions/<service bus subscription>",
"eventType": "Microsoft.ServiceBus.DeadletterMessagesAvailablePeriodicNotifications",
"eventTime": "2018-02-14T05:12:53.4133526Z",
"id": "dede87b0-3656-419c-acaf-70c95ddc60f5",
"data": {
"namespaceName": "YOUR SERVICE BUS NAMESPACE WILL SHOW HERE",
"requestUri": "https://YOUR-SERVICE-BUS-NAMESPACE-WILL-SHOW-HERE.servicebus.windows.net/TOPIC-NAME/subscriptions/SUBSCRIPTIONNAME/$deadletterqueue/messages/head",
"entityType": "subscriber",
"queueName": "QUEUE NAME IF QUEUE",
"topicName": "TOPIC NAME IF TOPIC",
"subscriptionName": "SUBSCRIPTION NAME"
},
"dataVersion": "1",
"metadataVersion": "1"
}]
イベントのプロパティ
イベントのトップレベルのデータを次に示します。
プロパティ | タイプ | 説明 |
---|---|---|
topic |
ひも | イベント ソースの完全なリソース パス。 このフィールドは書き込み可能ではありません。 この値は Event Grid によって指定されます。 |
subject |
ひも | 発行元が定義したイベントの対象のパス。 |
eventType |
ひも | このイベント ソースに登録されているイベントの種類の 1 つ。 |
eventTime |
ひも | プロバイダーの UTC 時刻に基づいてイベントが生成される時刻。 |
id |
ひも | イベント専用の識別子。 |
data |
オブジェクト | Service Bus イベント データ。 |
dataVersion |
ひも | データ オブジェクトのスキーマ バージョン。 パブリッシャーはスキーマのバージョンを定義します。 |
metadataVersion |
ひも | イベント メタデータのスキーマ バージョン。 Event Grid では、最上位レベルのプロパティのスキーマを定義します。 この値は Event Grid によって指定されます。 |
データ オブジェクトには、次のプロパティがあります。
プロパティ | タイプ | 説明 |
---|---|---|
namespaceName |
ひも | リソースが存在する Service Bus 名前空間。 |
requestUri |
ひも | イベントを生成する特定のキューまたはサブスクリプションへの URI。 |
entityType |
ひも | イベント (キューまたはサブスクリプション) を出力する Service Bus エンティティの種類。 |
queueName |
ひも | キューをサブスクライブしている場合は、アクティブなメッセージを含むキュー。 トピック/サブスクリプションを使用する場合は null 値を指定します。 |
topicName |
ひも | アクティブなメッセージを含む Service Bus サブスクリプションが属しているトピック。 キューを使用する場合は null 値を指定します。 |
subscriptionName |
ひも | アクティブなメッセージを含む Service Bus サブスクリプション。 キューを使用する場合は null 値を指定します。 |
チュートリアルとハウツー
タイトル | 説明 |
---|---|
チュートリアル:Azure Service Bus の Azure Event Grid への統合の例 | Event Grid は、Service Bus トピックから関数アプリとロジック アプリにメッセージを送信します。 |
Azure Service Bus と Event Grid の統合 | Service Bus と Event Grid の統合の概要。 |
注
Geo-DR 有効になっている Service Bus 名前空間に対してフェールオーバーが発生した場合、セカンダリ名前空間は Event Grid にイベントを出力しません。 セカンダリ名前空間の Event Grid サブスクリプションを手動で追加する必要があります。
次のステップ
- Azure Event Grid の概要については、Event Grid の紹介に関する記事を参照してください。
- Azure Event Grid サブスクリプションの作成の詳細については、Event Grid サブスクリプション スキーマに関する記事を参照してください。
- Service Bus での Azure Event Grid の使用の詳細については、 Service Bus から Event Grid への統合の概要を参照してください。
- Functions または Logic Apps で Service Bus イベントを受信してみてください。