다음을 통해 공유


Event Grid 원본으로서의 Azure App Service

이 문서에서는 Service Bus 이벤트에 대한 속성 및 스키마를 제공합니다. 이벤트 스키마에 대한 소개는 Azure Event Grid 이벤트 스키마를 참조하세요.

참고 항목

프리미엄 계층 Service Bus 네임스페이스만 이벤트 통합을 지원합니다. 기본 및 표준 계층은 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"
}]

수신기 없이 사용 가능한 배달 못한 편지 메시지

배달 못한 편지 큐 이벤트에 대한 스키마 역시 비슷합니다. 배달 못한 편지 큐마다 메시지는 있고 활성 수신기는 없는 이벤트가 하나 이상 발생합니다.

[{
  "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"
}]

이벤트 속성

이벤트에는 다음과 같은 최상위 데이터가 있습니다.

속성 Type Description
topic string 이벤트 원본에 대한 전체 리소스 경로입니다. 이 필드는 쓸 수 없습니다. Event Grid는 이 값을 제공합니다.
subject string 게시자가 정의한 이벤트 주체의 경로입니다.
eventType string 이 이벤트 원본에 대해 등록된 이벤트 유형 중 하나입니다.
eventTime string 공급자의 UTC 시간을 기준으로 이벤트가 생성되는 시간입니다.
id string 이벤트에 대한 고유 식별자입니다.
data 개체 Blob Storage 이벤트 데이터입니다.
dataVersion string 데이터 개체의 스키마 버전입니다. 게시자가 스키마 버전을 정의합니다.
metadataVersion string 이벤트 메타데이터의 스키마 버전입니다. Event Grid는 최상위 속성의 스키마를 정의합니다. Event Grid는 이 값을 제공합니다.

데이터 개체의 속성은 다음과 같습니다.

속성 Type Description
namespaceName string 리소스가 있는 Service Bus 네임스페이스입니다.
requestUri string 이벤트를 내보내는 특정 큐 또는 구독의 URI입니다.
entityType string 이벤트를 내보내는 Service Bus 엔터티의 유형(큐 또는 구독)입니다.
queueName string 큐를 구독하는 경우 활성 메시지가 있는 큐입니다. 토픽/구독을 사용하는 경우 값이 null입니다.
topicName string 활성 메시지가 있는 Service Bus 구독이 속하는 토픽입니다. 큐를 사용하는 경우 null 값입니다.
subscriptionName string 활성 메시지가 있는 Service Bus 구독입니다. 큐를 사용하는 경우 null 값입니다.

자습서 및 방법

제목 설명
자습서: Azure Service Bus-Azure Event Grid 통합 예제 Event Grid는 Service Bus 토픽의 메시지를 함수 앱 및 논리 앱에 전송합니다.
Azure Service Bus와 Event Grid 통합 Event Grid와 Service Bus 통합의 개요입니다.

참고 항목

Geo-DR을 사용하도록 설정된 Service Bus 네임스페이스에 대해 장애 조치(failover)가 발생하면 보조 네임스페이스는 Event Grid에 이벤트를 내보내지 않습니다. 보조 네임스페이스에 대한 Event Grid 구독을 수동으로 추가해야 합니다.

다음 단계