Bagikan melalui


Mengaktifkan sesi pesan untuk antrean Azure Service Bus atau langganan

Sesi Azure Service Bus memungkinkan penanganan bersama dan terpesan dari urutan pesan terkait yang tidak terbatas. Sesi dapat digunakan pada first in, first out (FIFO) dan pola respons permintaan. Untuk informasi selengkapnya, Lihat Sesi pesan. Artikel ini menampilkan berbagai cara untuk mengaktifkan sesi untuk antrean atau langganan Azure Service Bus.

Penting

  • Tingkat dasar Service Bus tidak mendukung sesi. Tingkatan standar dan premium mendukung sesi. Untuk perbedaan antara tingkatan ini, lihat Harga Service Bus.
  • Anda tidak dapat mengaktifkan atau menonaktifkan sesi pesan setelah antrean atau langganan dibuat. Anda hanya dapat melakukannya pada saat membuat antrean atau langganan.

Menggunakan portal Azure

Saat membuat antrean di portal Microsoft Azure, pilih Aktifkan sesi seperti yang ditampilkan dalam gambar berikut.

Enable session at the time of the queue creation

Saat membuat langganan untuk topik di portal Microsoft Azure, pilih Aktifkan sesi seperti yang ditampilkan dalam gambar berikut.

Enable session at the time of the subscription creation

Menggunakan Azure CLI

Untuk membuat antrean dengan sesi pesan diaktifkan, gunakan perintah az servicebus queue create dengan --enable-session diatur ke true.

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

Untuk membuat langganan topik dengan sesi pesan diaktifkan, gunakan perintah az servicebus topic subscription create dengan --enable-session diatur ke true.

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

Menggunakan Azure PowerShell

Untuk membuat antrean dengan sesi pesan diaktifkan, gunakan perintah New-AzServiceBusQueue dengan -RequiresSession diatur ke $True.

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

Untuk membuat langganan topik dengan sesi pesan diaktifkan, gunakan perintah New-AzServiceBusSubscription dengan -RequiresSession diatur ke true.

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

Menggunakan templat Azure Resource Manager

Untuk membuat antrean dengan sesi pesan diaktifkan, atur requiresSession ke true di bagian properti antrean. Untuk informasi selengkapnya, lihat templat referensi Microsoft.ServiceBus namespaces/queues.

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

Untuk membuat langganan topik dengan sesi pesan diaktifkan, atur requiresSession ke true di bagian properti langganan. Untuk informasi selengkapnya, lihat referensi templat namespaces/topik/langganan 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"
      }
    },
    "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
              }
            }
          ]
        }
      ]
    }
  ]
}

Langkah berikutnya

Cobalah sampel dalam bahasa pilihan Anda untuk menjelajahi fitur Azure Service Bus.

Temukan sampel untuk pustaka klien .NET dan Java yang lebih lama di bawah ini:

Pada 30 September 2026, kami akan menghentikan pustaka Azure Bus Layanan SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus, dan com.microsoft.azure.servicebus, yang tidak sesuai dengan panduan Azure SDK. Kami juga akan mengakhiri dukungan protokol SBMP, sehingga Anda tidak akan lagi dapat menggunakan protokol ini setelah 30 September 2026. Migrasikan ke pustaka Azure SDK terbaru, yang menawarkan pembaruan keamanan penting dan kemampuan yang ditingkatkan, sebelum tanggal tersebut.

Meskipun pustaka lama masih dapat digunakan melebihi 30 September 2026, pustaka tersebut tidak akan lagi menerima dukungan dan pembaruan resmi dari Microsoft. Untuk informasi selengkapnya, lihat pengumuman penghentian dukungan.