Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Event Grid umożliwia bezproblemowe architektury sterowane zdarzeniami przez kierowanie zdarzeń ze źródeł do procedur obsługi. W tym artykule dowiesz się, jak skonfigurować kolejki i tematy usługi Azure Service Bus jako programy obsługi zdarzeń dla zdarzeń usługi Event Grid. Ten przewodnik krok po kroku pomoże Ci skonfigurować kolejki i tematy usługi Service Bus w celu przetwarzania zdarzeń w aplikacjach dla przedsiębiorstw przy użyciu witryny Azure Portal, interfejsu wiersza polecenia, programu PowerShell i interfejsów API REST.
Kolejki usługi Service Bus
Zdarzenia w usłudze Event Grid można kierować bezpośrednio do kolejek usługi Service Bus do użycia w scenariuszach buforowania lub sterowania i sterowania w aplikacjach dla przedsiębiorstw.
Korzystanie z witryny Azure Portal
W witrynie Azure Portal podczas tworzenia subskrypcji zdarzeń wybierz pozycję Kolejka usługi Service Bus jako typ punktu końcowego, a następnie kliknij pozycję Wybierz punkt końcowy , aby wybrać kolejkę usługi Service Bus.
Uwaga
Jeśli używasz subskrypcji kolejki/tematu z włączoną sesją jako miejsca docelowego, musisz ustawić właściwość sesji na zdarzeniu przy użyciu właściwości dostarczania o nazwie nagłówka "SessionId".
Interfejs wiersza polecenia platformy Azure
Użyj polecenia z ustawioną az eventgrid event-subscription create wartością --endpoint-typeservicebusqueue i --endpoint ustaw wartość /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/queues/<QUEUE NAME>. Oto przykład:
az eventgrid event-subscription create \
--name <my-event-subscription> \
--source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1 \
--endpoint-type servicebusqueue \
--endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/queues/queue1
Możesz również użyć az eventgrid topic event-subscription polecenia dla tematów niestandardowych, az eventgrid system-topic event-subscription polecenia dla tematów systemowych i az eventgrid partner topic event-subscription create polecenia dla tematów partnerskich.
Korzystanie z programu Azure PowerShell
Użyj polecenia New-AzEventGridSubscription z ustawioną wartością -EndpointTypeservicebusqueue i -Endpoint ustaw wartość /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/queues/<QUEUE NAME>. Oto przykład:
New-AzEventGridSubscription -ResourceGroup MyResourceGroup `
-TopicName Topic1 `
-EndpointType servicebusqueue `
-Endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/queues/queue1 `
-EventSubscriptionName EventSubscription1
Możesz również użyć New-AzEventGridSystemTopicEventSubscription polecenia dla tematów systemowych i New-AzEventGridPartnerTopicEventSubscription polecenia dla tematów partnerskich.
Tematy usługi Service Bus
Zdarzenia w usłudze Event Grid można kierować bezpośrednio do tematów usługi Service Bus na potrzeby scenariuszy obsługi komunikatów poleceń i sterowania nimi.
Korzystanie z witryny Azure Portal
W witrynie Azure Portal podczas tworzenia subskrypcji zdarzeń wybierz pozycję Temat usługi Service Bus jako typ punktu końcowego, a następnie kliknij pozycję Wybierz punkt końcowy , aby wybrać temat usługi Service Bus.
Interfejs wiersza polecenia platformy Azure
Użyj polecenia z ustawioną az eventgrid event-subscription create wartością --endpoint-typeservicebustopic i --endpoint ustaw wartość /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/topics/<TOPIC NAME>. Oto przykład:
az eventgrid event-subscription create \
--name <my-event-subscription> \
--source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1 \
--endpoint-type servicebustopic \
--endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/topics/topic1
Możesz również użyć az eventgrid topic event-subscription polecenia dla tematów niestandardowych, az eventgrid system-topic event-subscription polecenia dla tematów systemowych i az eventgrid partner topic event-subscription create polecenia dla tematów partnerskich.
Korzystanie z programu Azure PowerShell
Użyj polecenia New-AzEventGridSubscription z ustawioną wartością -EndpointTypeservicebustopic i -Endpoint ustaw wartość /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/topics/<TOPIC NAME>. Oto przykład:
New-AzEventGridSubscription -ResourceGroup MyResourceGroup `
-TopicName Topic1 `
-EndpointType servicebustopic `
-Endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/topics/topic1 `
-EventSubscriptionName EventSubscription1
Możesz również użyć New-AzEventGridSystemTopicEventSubscription polecenia dla tematów systemowych i New-AzEventGridPartnerTopicEventSubscription polecenia dla tematów partnerskich.
Nagłówki komunikatów
Są to właściwości odbierane w nagłówkach komunikatów:
| Nazwa właściwości | Opis |
|---|---|
| aeg-subscription-name | Nazwa subskrypcji zdarzeń. |
| aeg-delivery-count | Liczba prób wykonanych dla zdarzenia. |
| aeg-event-type | Typ zdarzenia. Może to być jedna z następujących wartości:
|
| aeg-metadata-version | Wersja metadanych zdarzenia. W przypadku schematu zdarzeń usługi Event Grid ta właściwość reprezentuje wersję metadanych i schemat zdarzeń w chmurze, reprezentuje wersję specyfikacji. |
| aeg-data-version | Wersja danych zdarzenia. W przypadku schematu zdarzeń usługi Event Grid ta właściwość reprezentuje wersję danych i schemat zdarzeń w chmurze, ale nie ma zastosowania. |
| aeg-output-event-id | Identyfikator zdarzenia usługi Event Grid. |
Po wysłaniu zdarzenia do kolejki usługi Service Bus lub tematu jako komunikatu messageid obsługiwanego przez brokera komunikat komunikat jest wewnętrznym identyfikatorem systemu.
Wewnętrzny identyfikator systemu komunikatu jest utrzymywany w całej ponownej instalacji zdarzenia, dzięki czemu można uniknąć zduplikowanych dostaw, włączając wykrywanie duplikatów w jednostce usługi Service Bus. Zalecamy włączenie czasu trwania wykrywania duplikatów w jednostce usługi Service Bus jako czasu wygaśnięcia (TTL) zdarzenia lub maksymalnego czasu trwania ponawiania, w zależności od tego, co jest dłuższe.
Właściwości dostarczania
Subskrypcje zdarzeń umożliwiają konfigurowanie nagłówków HTTP uwzględnionych w dostarczanych zdarzeniach. Ta funkcja umożliwia ustawienie niestandardowych nagłówków, których wymaga miejsce docelowe. Możesz ustawić nagłówki niestandardowe dla zdarzeń dostarczanych do kolejek i tematów usługi Azure Service Bus.
Usługa Azure Service Bus obsługuje używanie następujących właściwości komunikatów podczas wysyłania pojedynczych komunikatów.
| Nazwa nagłówka | Typ nagłówka |
|---|---|
MessageId |
Dynamiczny |
PartitionKey |
Tryb statyczny lub dynamiczny |
SessionId |
Tryb statyczny lub dynamiczny |
CorrelationId |
Tryb statyczny lub dynamiczny |
Label |
Tryb statyczny lub dynamiczny |
ReplyTo |
Tryb statyczny lub dynamiczny |
ReplyToSessionId |
Tryb statyczny lub dynamiczny |
To |
Tryb statyczny lub dynamiczny |
ViaPartitionKey |
Tryb statyczny lub dynamiczny |
Uwaga
- Wartość
MessageIddomyślna to wewnętrzny identyfikator zdarzenia usługi Event Grid. Można go zastąpić. Na przykładdata.field. - Można ustawić tylko wartość
SessionIdlubMessageId.
Aby uzyskać więcej informacji, zobacz Niestandardowe właściwości dostarczania.
Przykłady REST (dla PUT)
Kolejka usługi Service Bus
{
"properties":
{
"destination":
{
"endpointType": "ServiceBusQueue",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<SERVICE BUS NAMESPACE NAME>/queues/<SERVICE BUS QUEUE NAME>"
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
Kolejka usługi Service Bus — dostarczanie przy użyciu tożsamości zarządzanej
{
"properties": {
"deliveryWithResourceIdentity":
{
"identity":
{
"type": "SystemAssigned"
},
"destination":
{
"endpointType": "ServiceBusQueue",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<SERVICE BUS NAMESPACE NAME>/queues/<SERVICE BUS QUEUE NAME>"
}
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
Temat usługi Service Bus
{
"properties":
{
"destination":
{
"endpointType": "ServiceBusTopic",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<SERVICE BUS NAMESPACE NAME>/topics/<SERVICE BUS TOPIC NAME>"
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
Temat usługi Service Bus — dostarczanie za pomocą tożsamości zarządzanej
{
"properties":
{
"deliveryWithResourceIdentity":
{
"identity":
{
"type": "SystemAssigned"
},
"destination":
{
"endpointType": "ServiceBusTopic",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<SERVICE BUS NAMESPACE NAME>/topics/<SERVICE BUS TOPIC NAME>"
}
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
Uwaga
W przypadku przejścia w tryb failover dla przestrzeni nazw usługi Service Bus, która jest włączona funkcja odzyskiwania po awarii geograficznej, pomocnicza przestrzeń nazw nie emituje zdarzeń do usługi Event Grid. Musisz ręcznie dodać subskrypcję usługi Event Grid dla dodatkowej przestrzeni nazw.
Następne kroki
Zobacz artykuł Procedury obsługi zdarzeń, aby uzyskać listę obsługiwanych programów obsługi zdarzeń.