Service Bus-üzenetsorok és témakörök az Azure Event Grid-események eseménykezelőiként
Az eseménykezelő eseményeket fogad egy eseményforrástól az Event Griden keresztül, és feldolgozza ezeket az eseményeket. Néhány Azure-szolgáltatás példányait használhatja az események kezeléséhez, és az Azure Service Bus az egyik ilyen. Ez a cikk bemutatja, hogyan használhat Service Bus-üzenetsort vagy -témakört kezelőként az Event Grid eseményeihez.
Service Bus-üzenetsorok
Az Event Grid eseményeit közvetlenül Service Bus-üzenetsorokhoz irányíthatja, amelyek a nagyvállalati alkalmazások pufferelési vagy parancs- és vezérlési forgatókönyveiben használhatók.
Az Azure Portal használata
Az Azure Portalon esemény-előfizetés létrehozásakor válassza a Service Bus-üzenetsort végponttípusként, majd kattintson egy végpont kiválasztására a Service Bus-üzenetsor kiválasztásához.
Feljegyzés
A munkamenet-kompatibilis üzenetsorok nem támogatottak az Azure Event Grid-események eseménykezelőiként
Az Azure parancssori felület használatával
Használja a parancsot a beállítással servicebusqueue
és --endpoint
a beállítással --endpoint-type
/subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/queues/<QUEUE NAME>
.az eventgrid event-subscription create
Példa:
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
Használhatja a az eventgrid topic event-subscription
parancsot egyéni témakörökhöz, a az eventgrid system-topic event-subscription
rendszertémakörök parancsához és a az eventgrid partner topic event-subscription create
partnertémakörök parancsához is.
Azure PowerShell használatával
Használja a New-AzEventGridSubscription parancsot a beállítással servicebusqueue
és -Endpoint
a beállítással -EndpointType
/subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/queues/<QUEUE NAME>
. Példa:
New-AzEventGridSubscription -ResourceGroup MyResourceGroup `
-TopicName Topic1 `
-EndpointType servicebusqueue `
-Endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/queues/queue1 `
-EventSubscriptionName EventSubscription1
A rendszertémakörökhöz és a New-AzEventGridPartnerTopicEventSubscription
partnertémakörökhöz tartozó parancsot is használhatjaNew-AzEventGridSystemTopicEventSubscription
.
Service Bus-témakörök
Az Event Grid eseményeit közvetlenül a Service Bus-témakörökbe irányíthatja az üzenetkezelési forgatókönyvek irányításához és irányításához.
Az Azure Portal használata
Az Azure Portalon esemény-előfizetés létrehozásakor válassza a Service Bus-témakört végponttípusként, majd kattintson a végpont kiválasztására a Service Bus-témakör kiválasztásához.
Az Azure parancssori felület használatával
Használja a parancsot a beállítással servicebustopic
és --endpoint
a beállítással --endpoint-type
/subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/topics/<TOPIC NAME>
.az eventgrid event-subscription create
Példa:
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
Használhatja a az eventgrid topic event-subscription
parancsot egyéni témakörökhöz, a az eventgrid system-topic event-subscription
rendszertémakörök parancsához és a az eventgrid partner topic event-subscription create
partnertémakörök parancsához is.
Azure PowerShell használatával
Használja a New-AzEventGridSubscription parancsot a beállítással servicebustopic
és -Endpoint
a beállítással -EndpointType
/subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/topics/<TOPIC NAME>
. Példa:
New-AzEventGridSubscription -ResourceGroup MyResourceGroup `
-TopicName Topic1 `
-EndpointType servicebustopic `
-Endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/topics/topic1 `
-EventSubscriptionName EventSubscription1
A rendszertémakörökhöz és a New-AzEventGridPartnerTopicEventSubscription
partnertémakörökhöz tartozó parancsot is használhatjaNew-AzEventGridSystemTopicEventSubscription
.
Üzenetfejlécek
Ezek a tulajdonságok jelennek meg az üzenetfejlécekben:
Tulajdonság neve | Leírás |
---|---|
aeg-subscription-name | Az esemény-előfizetés neve. |
aeg-delivery-count | Az eseményre tett kísérletek száma. |
aeg-event-type | Az esemény típusa. A következő értékek egyike lehet:
|
aeg-metadata-version | Az esemény metaadat-verziója. Az Event Grid eseményséma esetében ez a tulajdonság a metaadatok verzióját, a felhőbeli eseményséma esetében pedig a spec verziót jelöli. |
aeg-data-version | Az esemény adatverziója. Az Event Grid eseményséma esetében ez a tulajdonság az adatverziót jelöli, és a felhőbeli eseményséma esetében ez nem érvényes. |
aeg-output-event-id | Az Event Grid-esemény azonosítója. |
Amikor egy eseményt közvetített üzenetként küld egy Service Bus-üzenetsorba vagy -témakörbe, a messageid
közvetített üzenet egy belső rendszerazonosító.
Az üzenet belső rendszerazonosítója az esemény teljes újraelrendelése során megmarad, így elkerülheti az ismétlődő kézbesítéseket a service bus entitás duplikált észlelésének bekapcsolásával. Javasoljuk, hogy engedélyezze a Service Bus-entitás duplikált észlelésének időtartamát az esemény élettartamának (TTL) vagy az újrapróbálkozási időtartam maximális időtartamának (attól függően, hogy melyik hosszabb).
Kézbesítési tulajdonságok
Az esemény-előfizetések lehetővé teszik a kézbesített eseményekben szereplő HTTP-fejlécek beállítását. Ez a funkció lehetővé teszi a célhoz szükséges egyéni fejlécek beállítását. Egyéni fejléceket állíthat be az Azure Service Bus üzenetsoraiba és témaköreibe szállított eseményeken.
Az Azure Service Bus az alábbi üzenettulajdonságok használatát támogatja egyetlen üzenet küldésekor.
Fejléc neve | Fejléc típusa |
---|---|
MessageId |
Dinamikus |
PartitionKey |
Statikus vagy dinamikus. |
SessionId |
Statikus vagy dinamikus. |
CorrelationId |
Statikus vagy dinamikus. |
Label |
Statikus vagy dinamikus. |
ReplyTo |
Statikus vagy dinamikus. |
ReplyToSessionId |
Statikus vagy dinamikus. |
To |
Statikus vagy dinamikus. |
ViaPartitionKey |
Statikus vagy dinamikus. |
Feljegyzés
- Az alapértelmezett érték
MessageId
az Event Grid-esemény belső azonosítója. Felülbírálhatja. Például:data.field
. - A beállításokat csak vagy a következőre állíthatja be
SessionId
MessageId
:
További információ: Egyéni kézbesítés tulajdonságai.
REST-példák (PUT esetén)
Service Bus-üzenetsor
{
"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-üzenetsor – kézbesítés felügyelt identitással
{
"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-témakör
{
"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-témakör – kézbesítés felügyelt identitással
{
"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"
}
}
Feljegyzés
Ha feladatátvétel történik egy olyan Service Bus-névtér esetében, amely engedélyezve van a Geo-Vészhelyreállítás szolgáltatásban, a másodlagos névtér nem bocsát ki eseményeket az Event Gridnek. Manuálisan kell hozzáadnia az Event Grid-előfizetést a másodlagos névtérhez.
Következő lépések
A támogatott eseménykezelők listáját az Eseménykezelők című cikkben találja.