Condividi tramite


Abilitare le sessioni di messaggio per una coda bus di servizio di Azure o una sottoscrizione

Le sessioni del bus di servizio di Azure consentono la gestione congiunta e ordinata di sequenze non vincolate di messaggi correlati. Le sessioni possono essere usate in criteri First in, First out (FIFO) e di richiesta-risposta. Per altre informazioni, vedere Sessioni di messaggi. Questo articolo illustra diversi modi per abilitare le sessioni per una coda o una sottoscrizione bus di servizio.

Importante

  • Il livello Basic del bus di servizio non supporta le sessioni. I livelli Standard e Premium supportano le sessioni. Per le differenze tra questi livelli, vedere Prezzi del bus di servizio.
  • Non è possibile abilitare o disabilitare sessioni di messaggi dopo la creazione della coda o della sottoscrizione. È possibile farlo solo al momento della creazione della coda o della sottoscrizione.

Con il portale di Azure

Quando si crea una coda nel portale di Azure, selezionare Abilita sessioni come illustrato nell'immagine seguente.

Enable session at the time of the queue creation

Quando si crea una sottoscrizione per un argomento nella portale di Azure, selezionare Abilita sessioni come illustrato nell'immagine seguente.

Enable session at the time of the subscription creation

Utilizzare l'interfaccia della riga di comando di Azure

Per creare una coda con sessioni di messaggi abilitate, usare il az servicebus queue create comando con --enable-session impostato su true.

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

Per creare una sottoscrizione per un argomento con sessioni di messaggi abilitate, usare il az servicebus topic subscription create comando con --enable-session impostato su true.

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

Uso di Azure PowerShell

Per creare una coda con sessioni di messaggi abilitate, usare il New-AzServiceBusQueue comando con -RequiresSession impostato su $True.

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

Per creare una sottoscrizione per un argomento con sessioni di messaggi abilitate, usare il New-AzServiceBusSubscription comando con -RequiresSession impostato su true.

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

Uso del modello di Azure Resource Manager

Per creare una coda con sessioni di messaggi abilitate, impostare su requiresSession true nella sezione delle proprietà della coda. Per altre informazioni, vedere Informazioni di riferimento sui modelli di spazi dei nomi/code 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
          }
        }
      ]
    }
  ]
}

Per creare una sottoscrizione per un argomento con sessioni di messaggi abilitate, impostare su requiresSession true nella sezione delle proprietà della sottoscrizione. Per altre informazioni, vedere Informazioni di riferimento sul modello Microsoft.ServiceBus namespaces/topics/subscriptions.

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

Passaggi successivi

Provare gli esempi nel linguaggio preferito per esplorare bus di servizio di Azure funzionalità.

Trovare esempi per le librerie client .NET e Java precedenti di seguito:

Il 30 settembre 2026 verranno ritirati le librerie bus di servizio di Azure SDK WindowsAzure.ServiceBus, Microsoft.Azure.ServiceBus e com.microsoft.azure.servicebus, che non sono conformi alle linee guida di Azure SDK. Il supporto del protocollo SBMP verrà terminato, quindi non sarà più possibile usare questo protocollo dopo il 30 settembre 2026. Eseguire la migrazione alle librerie più recenti di Azure SDK, che offrono aggiornamenti critici della sicurezza e funzionalità migliorate, prima di tale data.

Anche se le librerie precedenti possono ancora essere usate oltre il 30 settembre 2026, non riceveranno più il supporto e gli aggiornamenti ufficiali da Microsoft. Per altre informazioni, vedere l'annuncio di ritiro del supporto.