Aracılığıyla paylaş


Azure Service Bus kuyruğu veya aboneliği için ileti oturumlarını etkinleştirme

Azure Service Bus oturumları, sınırsız sayıda birbiriyle ilgili iletinin birlikte ve düzenli olarak işlenmesini sağlar. Oturumlar ilk in, first out (FIFO) ve request-response desenlerinde kullanılabilir. Daha fazla bilgi için bkz. İleti oturumları. Bu makalede, Service Bus kuyruğu veya aboneliği için oturumları etkinleştirmenin farklı yolları gösterilmektedir.

Önemli

  • Service Bus temel katmanı oturumları desteklemez. Standart ve Premium katmanlar oturumları destekler. Bu katmanlar arasındaki farklar için bkz . Service Bus fiyatlandırması.
  • Kuyruk veya abonelik oluşturulduktan sonra ileti oturumlarını etkinleştiremez veya devre dışı bırakamazsınız. Bunu yalnızca kuyruk veya abonelik oluşturulurken yapabilirsiniz.

Azure portalı kullanarak

Azure portalında kuyruk oluştururken, aşağıdaki görüntüde gösterildiği gibi Oturumları etkinleştir'i seçin.

Enable session at the time of the queue creation

Azure portalında bir konu için abonelik oluştururken aşağıdaki görüntüde gösterildiği gibi Oturumları etkinleştir'i seçin.

Enable session at the time of the subscription creation

Azure CLI’yı kullanma

İleti oturumlarının etkin olduğu bir kuyruk oluşturmak için olarak ayarlanmış truekomutunu --enable-session kullanınaz servicebus queue create.

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

İleti oturumlarının etkinleştirildiği bir konu başlığına abonelik oluşturmak için olarak ayarlanmış truekomutunu --enable-session kullanınaz servicebus topic subscription create.

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

Azure PowerShell’i kullanma

İleti oturumlarının etkin olduğu bir kuyruk oluşturmak için olarak ayarlanmış $Truekomutunu -RequiresSession kullanınNew-AzServiceBusQueue.

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

İleti oturumlarının etkinleştirildiği bir konu başlığına abonelik oluşturmak için olarak ayarlanmış truekomutunu -RequiresSession kullanınNew-AzServiceBusSubscription.

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

Azure Resource Manager şablonu kullanma

İleti oturumlarının etkin olduğu bir kuyruk oluşturmak için kuyruk özellikleri bölümünde olarak ayarlayın requiresSession true. Daha fazla bilgi için bkz . Microsoft.ServiceBus ad alanları/kuyrukları şablon başvurusu.

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

İleti oturumlarının etkinleştirildiği bir konu için abonelik oluşturmak için abonelik özellikleri bölümünde olarak ayarlayın requiresSession true. Daha fazla bilgi için bkz . Microsoft.ServiceBus ad alanları/konular/abonelikler şablonu başvurusu.

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

Sonraki adımlar

Azure Service Bus özelliklerini keşfetmek için örnekleri istediğiniz dilde deneyin.

Eski .NET ve Java istemci kitaplıkları için örnekleri aşağıda bulabilirsiniz:

30 Eylül 2026'da Azure SDK yönergelerine uymayan WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus ve com.microsoft.azure.servicebus Azure Service Bus SDK kitaplıklarını kullanımdan kaldıracağız. Ayrıca SBMP protokolünün desteğini de sonlandıracağız, bu nedenle 30 Eylül 2026'da bu protokolü artık kullanamayacaksınız. Bu tarihten önce kritik güvenlik güncelleştirmeleri ve geliştirilmiş özellikler sunan en son Azure SDK kitaplıklarına geçiş yapın.

Eski kitaplıklar 30 Eylül 2026'dan sonra da kullanılabilir olsa da artık Microsoft'tan resmi destek ve güncelleştirmeler almayacaktır. Daha fazla bilgi için bkz . destek kullanımdan kaldırma duyurusu.