تمكين الكشف عن الرسائل المكررة لقائمة انتظار ناقل خدمة Azure أو موضوع
عند تمكين الكشف عن التكرارات لقائمة انتظار أو موضوع، يحتفظ ناقل خدمة Microsoft Azure بمحفوظات لجميع الرسائل المرسلة إلى قائمة الانتظار أو الموضوع لفترة تكوين. خلال هذا الفاصل الزمني، لن تخزن قائمة الانتظار أو الموضوع أي رسائل مكررة. يضمن تمكين هذه الخاصية التسليم مرة واحدة بالضبط خلال فترة زمنية يحددها المستخدم. لمزيد من المعلومات، راجع الكشف عن التكرارات. توضح هذه المقالة الطرق المختلفة لتمكين الكشف عن رسالة مكررة لقائمة انتظار أو موضوع "ناقل الخدمة".
إشعار
- لا تدعم الطبقة الأساسية لـ Service Bus الكشف عن التكرارات. يدعم المستوى القياسي والمتميز الكشف عن التكرارات. لمعرفة الاختلافات بين هذه المستويات، راجع الأسعار الخاصة بناقل خدمة Microsoft Azure.
- لا يمكنك تمكين أو تعطيل الكشف عن التكرارات بعد إنشاء قائمة الانتظار أو الموضوع. يمكنك القيام بذلك فقط في وقت إنشاء قائمة الانتظار أو الموضوع.
استخدام مدخل Microsoft Azure
عند إنشاء قائمة انتظار في مدخل Microsoft Azure، حدد Enable duplicate detection كما هو موضح في الصورة التالية. يمكنك تكوين حجم نافذة الكشف عن التكرارات عند إنشاء قائمة انتظار أو موضوع.
عند إنشاء موضوع في مدخل Microsoft Azure، حدد Enable duplicate detection كما هو موضح في الصورة التالية.
يمكنك أيضاً تكوين هذا الإعداد لقائمة انتظار أو موضوع موجود، إذا كنت قد قمت بتمكين الكشف عن التكرارات في وقت الإنشاء.
تحديث حجم نافذة الكشف عن التكرار لقائمة انتظار أو موضوع موجود
لتغيير حجم نافذة الكشف عن التكرارات لقائمة انتظار أو موضوع موجود، في صفحة نظرة عامة، حدد Change لـ نافذة الكشف عن التكرارات.
الصف
موضوع
استخدام Azure CLI
لإنشاء قائمة انتظار مع تمكين الكشف عن التكرارات، استخدم الأمر az servicebus queue create
مع تعيين --enable-duplicate-detection
على true
.
az servicebus queue create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
لإنشاء موضوع مع تمكين الكشف عن التكرارات، استخدم الأمر az servicebus topic create
مع ضبط --enable-duplicate-detection
على true
.
az servicebus topic create \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name mytopic \
--enable-duplicate-detection true \
--duplicate-detection-history-time-window P1D
تحدد الأمثلة أعلاه أيضاً حجم نافذة الكشف عن التكرارات باستخدام المعلمة --duplicate-detection-history-time-window
. يتم تعيين حجم النافذة ليوم واحد. القيمة الافتراضية هي 10 دقائق والحد الأقصى المسموح به هو سبعة أيام.
لتحديث قائمة انتظار بحجم نافذة اكتشاف جديد، استخدم الأمر az servicebus queue update
مع المعلمة --duplicate-detection-history-time-window
. في هذا المثال، يتم تحديث حجم النافذة إلى سبعة أيام.
az servicebus queue update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
وبالمثل، لتحديث موضوع بحجم نافذة اكتشاف جديد، استخدم الأمر az servicebus topic update
مع المعلمة --duplicate-detection-history-time-window
. في هذا المثال، يتم تحديث حجم النافذة إلى سبعة أيام.
az servicebus topic update \
--resource-group myresourcegroup \
--namespace-name mynamespace \
--name myqueue \
--duplicate-detection-history-time-window P7D
باستخدام Azure PowerShell
لإنشاء قائمة انتظار مع تمكين الكشف عن التكرارات، استخدم الأمر New-AzServiceBusQueue
مع تعيين -RequiresDuplicateDetection
على $True
.
New-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-RequiresDuplicateDetection $True `
-DuplicateDetectionHistoryTimeWindow P1D
لإنشاء موضوع مع تمكين الكشف عن التكرارات، استخدم الأمر New-AzServiceBusTopic
مع ضبط -RequiresDuplicateDetection
على true
.
New-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-RequiresDuplicateDetection $True
-DuplicateDetectionHistoryTimeWindow P1D
تحدد الأمثلة أعلاه أيضاً حجم نافذة الكشف عن التكرارات باستخدام المعلمة -DuplicateDetectionHistoryTimeWindow
. يتم تعيين حجم النافذة ليوم واحد. القيمة الافتراضية هي 10 دقائق والحد الأقصى المسموح به هو سبعة أيام.
لتحديث قائمة انتظار بحجم نافذة اكتشاف جديد، راجع المثال التالي. في هذا المثال، يتم تحديث حجم النافذة إلى سبعة أيام.
$queue=Get-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue
$queue.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusQueue -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-QueueName myqueue `
-QueueObj $queue
لتحديث موضوع بحجم نافذة اكتشاف جديد، راجع المثال التالي. في هذا المثال، يتم تحديث حجم النافذة إلى سبعة أيام.
$topic=Get-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic
$topic.DuplicateDetectionHistoryTimeWindow='P7D'
Set-AzServiceBusTopic -ResourceGroup myresourcegroup `
-NamespaceName mynamespace `
-Name mytopic `
-TopicObj $topic
استخدام قالب Azure Resource Manager
لإنشاء قائمة انتظار مع تمكين الكشف عن التكرارات، اضبط requiresDuplicateDetection
على true
في قسم خصائص قائمة الانتظار. لمزيد من المعلومات، راجع مرجع قالب مساحات الأسماء / قوائم الانتظار في Microsoft.ServiceBus. حدد قيمة للخاصية duplicateDetectionHistoryTimeWindow
لتعيين حجم نافذة الكشف عن التكرارات. في المثال التالي، تم ضبطه على يوم واحد.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serviceBusNamespaceName": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusQueueName": {
"type": "string",
"metadata": {
"description": "Name of the Queue"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"type": "Microsoft.ServiceBus/namespaces",
"apiVersion": "2018-01-01-preview",
"name": "[parameters('serviceBusNamespaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"type": "Queues",
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusQueueName')]",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces', parameters('serviceBusNamespaceName'))]"
],
"properties": {
"requiresDuplicateDetection": true,
"duplicateDetectionHistoryTimeWindow": "P1D"
}
}
]
}
]
}
لإنشاء موضوع مع تمكين الكشف عن التكرارات، اضبطrequiresDuplicateDetection
إلىtrue
في قسم خصائص الموضوع. لمزيد من المعلومات، راجع مرجع قوالب مساحات / موضوعات Microsoft.ServiceBus.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"service_BusNamespace_Name": {
"type": "string",
"metadata": {
"description": "Name of the Service Bus namespace"
}
},
"serviceBusTopicName": {
"type": "string",
"metadata": {
"description": "Name of the Topic"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"resources": [
{
"apiVersion": "2018-01-01-preview",
"name": "[parameters('service_BusNamespace_Name')]",
"type": "Microsoft.ServiceBus/namespaces",
"location": "[parameters('location')]",
"sku": {
"name": "Standard"
},
"properties": {},
"resources": [
{
"apiVersion": "2017-04-01",
"name": "[parameters('serviceBusTopicName')]",
"type": "topics",
"dependsOn": [
"[resourceId('Microsoft.ServiceBus/namespaces/', parameters('service_BusNamespace_Name'))]"
],
"properties": {
"requiresDuplicateDetection": true,
"duplicateDetectionHistoryTimeWindow": "P1D"
}
}
]
}
]
}
الخطوات التالية
جرب العينات باللغة التي تختارها لاستكشاف ميزات ناقل خدمة Microsoft Azure.
- نماذج مكتبة عميل ناقل خدمة Microsoft Azure لـ .NET (الأحدث)
- نماذج مكتبة عميل ناقل خدمة Microsoft Azure لـ Java (الأحدث)
- نماذج من مكتبة عميل ناقل خدمة Microsoft Azure للغة Python
- نماذج مكتبة عميل ناقل خدمة Microsoft Azure لـ JavaScript
- نماذج مكتبة عميل ناقل خدمة Microsoft Azure لـ TypeScript
ابحث عن نماذج لمكتبات عملاء NET. وJava الأقدم أدناه:
- نماذج مكتبة عميل ناقل خدمة Microsoft Azure لـ NET. (قديم)
- نماذج مكتبة عميل ناقل خدمة Microsoft Azure لـ Java (قديم)
في 30 سبتمبر 2026، سنتقاعد مكتبات SDK ناقل خدمة Azure WindowsAzure.ServiceBus وMicrosoft.Azure.ServiceBus و com.microsoft.azure.servicebus، والتي لا تتوافق مع إرشادات Azure SDK. سننهي أيضا دعم بروتوكول SBMP، لذلك لن تتمكن من استخدام هذا البروتوكول بعد 30 سبتمبر 2026. قم بالترحيل إلى أحدث مكتبات Azure SDK، والتي توفر تحديثات أمان هامة وقدرات محسنة، قبل ذلك التاريخ.
على الرغم من أنه لا يزال من الممكن استخدام المكتبات القديمة بعد 30 سبتمبر 2026، إلا أنها لن تتلقى بعد ذلك الدعم والتحديثات الرسمية من Microsoft. لمزيد من المعلومات، راجع إعلان إيقاف الدعم.