قوائم انتظار حافلة الخدمة والمواضيع كمعالجات أحداث لأحداث Azure Event Grid
يتلقى معالج الأحداث الأحداث من مصدر حدث عبر Event Grid، ويعالج هذه الأحداث. يمكنك استخدام مثيلات عدد قليل من خدمات Azure لمعالجة الأحداث ناقل خدمة Azure هي واحدة منها. توضح لك هذه المقالة كيفية استخدام قائمة انتظار أو موضوع ناقل خدمة Microsoft Azure كمعالج للأحداث من Event Grid.
قوائم انتظار ناقل خدمة Microsoft Azure
يمكنك توجيه الأحداث في Event Grid مباشرة إلى قوائم انتظار ناقل الخدمة لاستخدامها في التخزين المؤقت أو سيناريوهات الأوامر والتحكم في تطبيقات المؤسسة.
استخدام مدخل Azure
في مدخل Microsoft Azure، أثناء إنشاء اشتراك حدث، حدد قائمة انتظار ناقل الخدمة كنوع نقطة النهاية ثم انقر فوق تحديد نقطة نهاية لاختيار قائمة انتظار ناقل خدمة Microsoft Azure.
إشعار
لا يتم دعم قوائم الانتظار الممكّنة للجلسة كمعالجات أحداث لأحداث Azure Event Grid
استخدام Azure CLI
az eventgrid event-subscription create
استخدم الأمر مع --endpoint-type
تعيين إلى servicebusqueue
وتعيين --endpoint
إلى /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/queues/<QUEUE NAME>
. إليك مثال:
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
يمكنك أيضا استخدام az eventgrid topic event-subscription
الأمر للمواضيع المخصصة والأمر az eventgrid system-topic event-subscription
لمواضيع النظام والأمر az eventgrid partner topic event-subscription create
لمواضيع الشريك.
استخدام Azure PowerShell
استخدم الأمر New-AzEventGridSubscription مع -EndpointType
تعيين إلى servicebusqueue
وتعيين -Endpoint
إلى /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/queues/<QUEUE NAME>
. إليك مثال:
New-AzEventGridSubscription -ResourceGroup MyResourceGroup `
-TopicName Topic1 `
-EndpointType servicebusqueue `
-Endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/queues/queue1 `
-EventSubscriptionName EventSubscription1
يمكنك أيضا استخدام New-AzEventGridSystemTopicEventSubscription
الأمر لمواضيع النظام والأمر New-AzEventGridPartnerTopicEventSubscription
لمواضيع الشريك.
مواضيع ناقل الخدمة
يمكنك توجيه الأحداث في Event Grid مباشرة إلى مواضيع ناقل خدمة Microsoft Azure لسيناريوهات المراسلة الخاصة بالأوامر والتحكم.
استخدام مدخل Azure
في مدخل Microsoft Azure، أثناء إنشاء اشتراك حدث، حدد موضوع ناقل الخدمة كنوع نقطة النهاية ثم انقر فوق تحديد نقطة نهاية لاختيار موضوع ناقل خدمة Microsoft Azure.
استخدام Azure CLI
az eventgrid event-subscription create
استخدم الأمر مع --endpoint-type
تعيين إلى servicebustopic
وتعيين --endpoint
إلى /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/topics/<TOPIC NAME>
. إليك مثال:
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
يمكنك أيضا استخدام az eventgrid topic event-subscription
الأمر للمواضيع المخصصة والأمر az eventgrid system-topic event-subscription
لمواضيع النظام والأمر az eventgrid partner topic event-subscription create
لمواضيع الشريك.
استخدام Azure PowerShell
استخدم الأمر New-AzEventGridSubscription مع -EndpointType
تعيين إلى servicebustopic
وتعيين -Endpoint
إلى /subscriptions/{AZURE SUBSCRIPTION}/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.ServiceBus/namespaces/<NAMESPACE NAME>/topics/<TOPIC NAME>
. إليك مثال:
New-AzEventGridSubscription -ResourceGroup MyResourceGroup `
-TopicName Topic1 `
-EndpointType servicebustopic `
-Endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.ServiceBus/namespaces/ns1/topics/topic1 `
-EventSubscriptionName EventSubscription1
يمكنك أيضا استخدام New-AzEventGridSystemTopicEventSubscription
الأمر لمواضيع النظام والأمر New-AzEventGridPartnerTopicEventSubscription
لمواضيع الشريك.
عناوين الرسائل
هذه هي الخصائص التي تتلقاها في عناوين الرسائل:
اسم الخاصية | الوصف |
---|---|
اسم اشتراك aeg | اسم اشتراك الحدث. |
aeg التسليم -العد | عدد المحاولات التي تمت للحدث. |
aeg-الحدث نوع | نوع الحدث. يمكن أن تكون إحدى القيم التالية:
|
aeg-metadata-version | إصدار بيانات التعريف للحدث. بالنسبة إلى مخطط حدث شبكة الأحداث، تمثل هذه الخاصية إصدار بيانات التعريف ومخطط حدث مجموعة النظراء، وهي تمثل إصدار المواصفات. |
aeg- إصدار البيانات | إصدار بيانات الحدث. بالنسبة إلى مخطط حدث شبكة الأحداث، تمثل هذه الخاصية إصدار البيانات ومخطط حدث مجموعة النظراء، ولا يتم تطبيقها. |
aeg-إخراج-الحدث-معرف | معرف حدث شبكة الأحداث. |
عند إرسال حدث إلى قائمة انتظار أو موضوع ناقل خدمة Microsoft Azure كرسالة بوساطة، messageid
فإن الرسالة الوسيطة هي معرف نظام داخلي.
يتم الاحتفاظ بمعرف النظام الداخلي للرسالة عبر إعادة تسليم الحدث بحيث يمكنك تجنب عمليات التسليم المكررة عن طريق تشغيل الكشف عن التكرارات على كيان ناقل الخدمة. نوصي بتمكين مدة الكشف عن التكرارات في كيان Service Bus لتكون إما مدة البقاء (TTL) للحدث أو أقصى مدة لإعادة المحاولة، أيهما أطول.
خصائص التسليم
تتيح لك اشتراكات الأحداث إعداد عناوين HTTP المضمنة في الأحداث التي تم تسليمها. تسمح لك هذه الإمكانية بتعيين عناوين مخصصة تتطلبها الوجهة. يمكنك تعيين عناوين مخصصة للأحداث التي يتم تسليمها إلى قوائم انتظار وموضوعات Azure Service Bus.
يدعم Azure Service Bus استخدام خصائص الرسالة التالية عند إرسال رسائل فردية.
اسم الرأس | نوع العنوان |
---|---|
MessageId |
ديناميكي |
PartitionKey |
ثابت أو متحرك |
SessionId |
ثابت أو متحرك |
CorrelationId |
ثابت أو متحرك |
Label |
ثابت أو متحرك |
ReplyTo |
ثابت أو متحرك |
ReplyToSessionId |
ثابت أو متحرك |
To |
ثابت أو متحرك |
ViaPartitionKey |
ثابت أو متحرك |
إشعار
- القيمة الافتراضية
MessageId
هو المعرف الداخلي لحدث شبكة الأحداث. يمكنك تجاوزها. على سبيل المثال،data.field
- يمكنك فقط تعيين إما
SessionId
أوMessageId
.
لمزيد من المعلومات، راجع خصائص التسليم المخصص .
أمثلة REST (لـ PUT)
قائمة انتظار حافلة الخدمة
{
"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"
}
}
قائمة انتظار حافلة الخدمة - التسليم بهوية مُدارة
{
"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"
}
}
موضوع ناقل الخدمة
{
"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"
}
}
موضوع ناقل الخدمة - التسليم بهوية مُدارة
{
"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"
}
}
إشعار
عند حدوث تجاوز فشل لمساحة اسم ناقل خدمة Microsoft Azure التي تم تمكين Geo-DR بها، لا تصدر مساحة الاسم الثانوية أحداثا إلى شبكة الأحداث. تحتاج إلى إضافة اشتراك Event Grid يدويا لمساحة الاسم الثانوية.
الخطوات التالية
راجع مقالة معالجات الأحداث للحصول على قائمة بمعالجات الأحداث المدعومة.