Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Event Grid stöder händelsestyrda arkitekturer genom att routa händelser från källor till hanterare. Den här artikeln visar hur du konfigurerar Azure Service Bus-köer och ämnen som händelsehanterare för Event Grid-händelser. Du konfigurerar kön eller ämnet för att bearbeta händelser i företagsapplikationer genom att använda Azure-portalen, Azure CLI, Azure PowerShell eller REST API.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto kostnadsfritt.
- Ett Event Grid-ämne, systemämne, anpassat ämne eller partnerämne att prenumerera på. För mer information, se Skapa ett händelserutt ämne eller en domän.
- Ett Service Bus-namnrum med en kö eller ett topic som tar emot händelserna. För mer information, se Skapa en Service Bus-namnrymd och en kö med hjälp av Azure-portalen.
- Behörighet att skapa en händelseprenumeration på källämnet och skicka meddelanden till målkön eller Service Bus-ämnet.
Service Bus-köer
Dirigera händelser i Event Grid direkt till Service Bus-köer för buffring eller kommando- och kontrollscenarier i företagsapplikationer.
Konfigurera en Service Bus-kö genom att använda Azure-portalen
I Azure-portalen, när du skapar en händelseprenumeration, välj Service Bus Queue som endpoint-typ och välj sedan Select an endpoint för att välja en Service Bus-kö.
Kommentar
Om du använder en sessionsaktiverad kö eller ämnesprenumeration som destination, ställ in sessionegenskapen på händelsen genom att använda en leveransegenskap med headernamnet SessionId.
Konfigurera en Service Bus-kö genom att använda Azure CLI
az eventgrid event-subscription create Använd kommandot med --endpoint-type inställt på servicebusqueue och --endpoint inställt på /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/queues/<QUEUE NAME>. Här är ett exempel:
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
Du kan också använda az eventgrid topic event-subscription kommandot för anpassade ämnen, az eventgrid system-topic event-subscription kommandot för systemämnen och az eventgrid partner topic event-subscription create kommandot för partnerämnen.
Konfigurera en Service Bus-kö med Azure PowerShell
Använd kommandot New-AzEventGridSubscription med -EndpointType inställt på servicebusqueue och -Endpoint inställt på /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/queues/<QUEUE NAME>. Här är ett exempel:
New-AzEventGridSubscription -ResourceGroup MyResourceGroup `
-TopicName Topic1 `
-EndpointType servicebusqueue `
-Endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/queues/queue1 `
-EventSubscriptionName EventSubscription1
Du kan också använda New-AzEventGridSystemTopicEventSubscription kommandot för systemämnen och New-AzEventGridPartnerTopicEventSubscription kommandot för partnerämnen.
Service Bus-ämnen
Dirigera händelser i Event Grid direkt till Service Bus-ämnen för kommando- och kontrollmeddelandescenarion.
Konfigurera ett Service Bus-ämne genom att använda Azure-portalen
I Azure-portalen, när du skapar en händelseprenumeration, välj Service Bus Topic som endpoint-typ och välj sedan Select an endpoint för att välja ett Service Bus-ämne.
Konfigurera ett Service Bus-ämne genom att använda Azure CLI
az eventgrid event-subscription create Använd kommandot med --endpoint-type inställt på servicebustopic och --endpoint inställt på /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/topics/<TOPIC NAME>. Här är ett exempel:
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
Du kan också använda az eventgrid topic event-subscription kommandot för anpassade ämnen, az eventgrid system-topic event-subscription kommandot för systemämnen och az eventgrid partner topic event-subscription create kommandot för partnerämnen.
Konfigurera ett Service Bus-ämne genom att använda Azure PowerShell
Använd kommandot New-AzEventGridSubscription med -EndpointType inställt på servicebustopic och -Endpoint inställt på /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/topics/<TOPIC NAME>. Här är ett exempel:
New-AzEventGridSubscription -ResourceGroup MyResourceGroup `
-TopicName Topic1 `
-EndpointType servicebustopic `
-Endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/topics/topic1 `
-EventSubscriptionName EventSubscription1
Du kan också använda New-AzEventGridSystemTopicEventSubscription kommandot för systemämnen och New-AzEventGridPartnerTopicEventSubscription kommandot för partnerämnen.
Meddelanderubriker
Det här är de egenskaper som du får i meddelanderubrikerna:
| Egenskapsnamn | beskrivning |
|---|---|
| aeg-subscription-name | Namn på händelseprenumerationen. |
| aeg-delivery-count | Antal försök som gjorts för händelsen. |
| aeg-event-type | Händelsens typ. Det kan vara något av följande värden:
|
| aeg-metadata-version | Metadataversion av händelsen. För Event Grid-händelseschema representerar den här egenskapen metadataversionen och för molnhändelseschemat representerar den specifikationsversionen. |
| aeg-data-version | Dataversion av händelsen. För Event Grid-händelseschemat representerar den här egenskapen dataversionen och för molnhändelseschemat gäller den inte. |
| aeg-output-event-id | ID för Event Grid-händelsen. |
När du skickar en händelse till en Service Bus-kö eller ett ämne som ett utjämnat meddelande, är messageid för det utjämnade meddelandet ett internt system-ID.
Det interna system-ID:t för meddelandet kvarstår under hela återleveransen av händelsen så att du kan undvika dubblettleveranser genom att slå på duplicuttdetektering på Service Bus-enheten. Ange varaktigheten för dubblettidentifiering för Service Bus-entiteten till antingen händelsens time-to-live (TTL) eller den maximala varaktigheten för återförsök, beroende på vilket som är längst.
Leveransegenskaper
När du använder händelseprenumerationer kan du konfigurera HTTP-huvuden som ska ingå i levererade händelser. Denna funktion stödjer att ställa in anpassade headers som destinationen kräver. Du kan ställa in egna headers på händelser som levereras till Azure Service Bus-köer och ämnen.
Azure Service Bus stöder följande meddelandeegenskaper när du skickar enskilda meddelanden.
| Huvudnamn | Rubriktyp |
|---|---|
MessageId |
Dynamisk |
PartitionKey |
Statisk eller dynamisk |
SessionId |
Statisk eller dynamisk |
CorrelationId |
Statisk eller dynamisk |
Label |
Statisk eller dynamisk |
ReplyTo |
Statisk eller dynamisk |
ReplyToSessionId |
Statisk eller dynamisk |
To |
Statisk eller dynamisk |
ViaPartitionKey |
Statisk eller dynamisk |
Kommentar
- Standardvärdet
MessageIdför är det interna ID:t för Event Grid-händelsen. Du kan åsidosätta den. Använd till exempeldata.field. - Du kan bara ange antingen
SessionIdellerMessageId.
Mer information finns i Anpassade leveransegenskaper.
REST-exempel (för PUT)
Service Bus-kö
{
"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"
}
}
Service Bus-kö – leverans med hanterad identitet
{
"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"
}
}
Service Bus-ämne
{
"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"
}
}
Service Bus-ämne – leverans med hanterad identitet
{
"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"
}
}
Kommentar
När en redundansväxling inträffar för ett Service Bus-namnområde där Geo-Disaster Recovery är aktiverat skickar det sekundära namnområdet inte händelser till Event Grid. Du måste manuellt lägga till Event Grid-prenumerationen för den sekundära namnrymden.
Relaterat innehåll
För en lista över stödda händelsehanterare, se artikeln om händelsehanterare .