مشاركة عبر


تمكين جلسات الرسائل لقائمة انتظار ناقل خدمة Azure أو اشتراك

تتيح جلسات Azure Service Bus معالجة مشتركة ومرتبة للتسلسلات غير المحدودة للرسائل ذات الصلة. يمكن استخدام الجلسات في أنماط ، ما يرد أولاً يصرف أولًا (FIFO) واستجابة الطلب. لمزيد من المعلومات، راجع جلسات الرسائل. توضح لك هذه المقالة طرقاً مختلفة لتمكين الجلسات لقائمة انتظار أو اشتراك ناقل خدمة Microsoft Azure.

هام

  • لا يدعم المستوى الأساسي لـ Service Bus الجلسات. المستويات القياسية والمتميزة تدعم الجلسات. لمعرفة الاختلافات بين هذه المستويات، راجع الأسعار الخاصة بناقل خدمة Microsoft Azure.
  • لا يمكنك تمكين أو تعطيل جلسات الرسائل بعد إنشاء قائمة الانتظار أو الاشتراك. يمكنك القيام بذلك فقط في وقت إنشاء قائمة الانتظار أو الاشتراك.

استخدام مدخل Microsoft Azure

عند إنشاء queue في مدخل Microsoft Azure، حدد Enable sessions كما هو موضح في الصورة التالية.

Enable session at the time of the queue creation

عند إنشاء اشتراك لموضوع في مدخل Microsoft Azure، حدد Enable sessions كما هو موضح في الصورة التالية.

Enable session at the time of the subscription creation

استخدام Azure CLI

لإنشاء قائمة انتظار مع تمكين جلسات الرسائل، استخدم الأمر az servicebus queue create مع تعيين --enable-session على true.

az servicebus queue create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --name myqueue \
    --enable-session true

لإنشاء اشتراك لموضوع مع تمكين جلسات الرسائل، استخدم الأمر az servicebus topic subscription create مع تعيين --enable-session على true.

az servicebus topic subscription create \
    --resource-group myresourcegroup \
    --namespace-name mynamespace \
    --topic-name mytopic \
    --name mysubscription \
    --enable-session true

باستخدام Azure PowerShell

لإنشاء قائمة انتظار مع تمكين جلسات الرسائل، استخدم الأمر New-AzServiceBusQueue مع تعيين -RequiresSession على $True.

New-AzServiceBusQueue -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -QueueName myqueue `
    -RequiresSession $True

لإنشاء اشتراك لموضوع مع تمكين جلسات الرسائل، استخدم الأمر New-AzServiceBusSubscription مع تعيين -RequiresSession على true.

New-AzServiceBusSubscription -ResourceGroup myresourcegroup `
    -NamespaceName mynamespace `
    -TopicName mytopic `
    -SubscriptionName mysubscription `
    -RequiresSession $True

استخدام قالب Azure Resource Manager

لإنشاء قائمة انتظار مع تمكين جلسات الرسائل، قم بتعيين requiresSession على true في قسم خصائص قائمة الانتظار. لمزيد من المعلومات، راجع مرجع قالب مساحات الأسماء / قوائم الانتظار في Microsoft.ServiceBus.

{
  "$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": {
            "requiresSession": true
          }
        }
      ]
    }
  ]
}

من أجل إنشاء اشتراك لموضوع مع تمكين جلسات الرسائل، قم بتعيين requiresSession على true في قسم خصائص الاشتراك. لمزيد من المعلومات، راجع مرجع قالب مساحات الأسماء / الموضوعات / الاشتراكات في ناقل خدمة Microsoft.

{
  "$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"
      }
    },
    "serviceBusSubscriptionName": {
      "type": "string",
      "metadata": {
        "description": "Name of the Subscription"
      }
    },
    "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": {
            "maxSizeInMegabytes": 1024
          },
          "resources": [
            {
              "apiVersion": "2017-04-01",
              "name": "[parameters('serviceBusSubscriptionName')]",
              "type": "Subscriptions",
              "dependsOn": [
                "[parameters('serviceBusTopicName')]"
              ],
              "properties": {
                "requiresSession": true
              }
            }
          ]
        }
      ]
    }
  ]
}

الخطوات التالية

جرب العينات باللغة التي تختارها لاستكشاف ميزات ناقل خدمة Microsoft Azure.

ابحث عن نماذج لمكتبات عملاء NET. وJava الأقدم أدناه:

في 30 سبتمبر 2026، سنتقاعد مكتبات SDK ناقل خدمة Azure WindowsAzure.ServiceBus وMicrosoft.Azure.ServiceBus و com.microsoft.azure.servicebus، والتي لا تتوافق مع إرشادات Azure SDK. سننهي أيضا دعم بروتوكول SBMP، لذلك لن تتمكن من استخدام هذا البروتوكول بعد 30 سبتمبر 2026. قم بالترحيل إلى أحدث مكتبات Azure SDK، والتي توفر تحديثات أمان هامة وقدرات محسنة، قبل ذلك التاريخ.

على الرغم من أنه لا يزال من الممكن استخدام المكتبات القديمة بعد 30 سبتمبر 2026، إلا أنها لن تتلقى بعد ذلك الدعم والتحديثات الرسمية من Microsoft. لمزيد من المعلومات، راجع إعلان إيقاف الدعم.