Interrompre et réactiver des entités de messagerie (désactiver)

Les files d’attente, rubriques et abonnements peuvent être temporairement interrompus. L’interruption place l’entité dans un état désactivé dans lequel tous les messages sont conservés dans le stockage. Toutefois, aucun message ne peut être supprimé ni ajouté. Les opérations de protocole correspondantes produisent des erreurs.

Vous pouvez suspendre une entité pour des raisons urgentes liées à l’administration. Par exemple, un récepteur défectueux prend des messages dans la file d’attente, échoue à les traiter, et les termine néanmoins incorrectement et les supprime. Dans ce cas, vous pouvez désactiver la réception pour la file d’attente jusqu’à la correction et le déploiement du code.

Aussi bien l’utilisateur que le système peuvent effectuer une interruption ou une réactivation. Le système met en suspens des entités seulement pour des raisons graves liées à l’administration, comme quand la limite de dépense de l’abonnement est atteinte. Les entités désactivées par le système ne peuvent pas être réactivées par l’utilisateur, mais sont restaurées une fois la cause de l’interruption traitée.

État de la file d’attente

Les états qui peuvent être définis pour une file d’attente sont :

  • Actif : la file d’attente est active. Vous pouvez envoyer des messages à la file d’attente et recevoir des messages de celle-ci.
  • Disabled : la file d’attente est suspendue. Cela revient à définir SendDisabled et ReceiveDisabled.
  • SendDisabled : Vous ne pouvez pas envoyer de messages à la file d’attente, mais vous pouvez en recevoir de celle-ci. Vous recevez une exception si vous essayez d’envoyer des messages à la file d’attente.
  • ReceiveDisabled : Vous pouvez envoyer des messages à la file d’attente, mais vous ne pouvez pas en recevoir de celle-ci. Vous recevez une exception si vous essayez de recevoir des messages de la file d’attente.

Modifiez l’état de la file d’attente dans le portail Azure :

  1. Dans le portail Azure, accédez à votre espace de noms Service Bus.

  2. Sélectionnez la file d’attente dont vous souhaitez modifier l’état. Les files d’attente sont affichées au milieu du volet inférieur.

  3. Sur la page File d’attente Service Bus, examinez l’état actuel de la file d’attente sous forme de lien hypertexte. Si l’option Vue d’ensemble n’est pas sélectionnée dans le menu de gauche, sélectionnez-la pour afficher l’état de la file d’attente. Sélectionnez l’état actuel de la file d’attente pour le modifier.

    Select state of the queue

  4. Sélectionnez le nouvel état de la file d’attente, puis OK.

    Set state of the queue

Vous pouvez également désactiver les opérations d’envoi et de réception en utilisant un modèle Azure Resource Manager avec Azure CLI ou Azure PowerShell.

Modifier l’état de la file d’attente à l’aide d’Azure PowerShell

La commande PowerShell pour désactiver une file d’attente est présentée dans l’exemple suivant. La commande de réactivation est équivalente et définit le paramètre Status sur Active.

$q = Get-AzServiceBusQueue -ResourceGroup mygrp -NamespaceName myns -QueueName myqueue

$q.Status = "Disabled"

Set-AzServiceBusQueue -ResourceGroup mygrp -NamespaceName myns -QueueName myqueue -QueueObj $q

État de la rubrique

Vous pouvez changer l’état de la rubrique dans le portail Azure. Sélectionnez l’état actuel de la rubrique pour voir la page suivante, qui vous permet de changer l’état.

Change topic status

Les états pouvant être définis pour une rubrique sont :

  • Actif : La rubrique est active. Vous pouvez envoyer des messages à la rubrique.
  • Disabled : La rubrique est interrompue. Vous ne pouvez pas envoyer de messages à la rubrique. Le paramètre Disabled équivaut à définir SendDisabled pour une rubrique.
  • SendDisabled : Même effet que Désactivé. Vous ne pouvez pas envoyer de messages à la rubrique. Vous recevez une exception si vous essayez d’envoyer des messages à la rubrique.

État de l’abonnement

Vous pouvez changer l’état de l’abonnement dans le portail Azure. Sélectionnez l’état actuel de l’abonnement pour voir la page suivante, qui vous permet de changer l’état.

Change subscription status

Les états pouvant être définis pour un abonnement sont :

  • Actif : L’abonnement est actif. Vous pouvez recevoir des messages de l’abonnement.
  • Disabled : L’abonnement est suspendu. Vous ne pouvez pas recevoir de messages de l’abonnement. Sur un abonnement, le paramètre Disabled équivaut à définir ReceiveDisabled. Vous recevez une exception si vous essayez de recevoir des messages de l’abonnement.
  • ReceiveDisabled : Même effet que Désactivé. Vous ne pouvez pas recevoir de messages de l’abonnement. Vous recevez une exception si vous essayez de recevoir des messages de l’abonnement.

Le comportement dépend de l’état défini sur une rubrique et son abonnement.

État de la rubrique État de l’abonnement Comportement
Actif Actif Vous pouvez envoyer des messages à la rubrique et recevoir des messages de l’abonnement.
Actif Désactivé ou Réception désactivée Vous pouvez envoyer des messages à la rubrique, mais vous ne pouvez pas recevoir de messages de l’abonnement.
Désactivé ou Envoi désactivé Actif Vous ne pouvez pas envoyer de messages à la rubrique, mais vous pouvez recevoir des messages qui sont déjà dans l’abonnement.
Désactivé ou Envoi désactivé Désactivé ou Réception désactivée Vous ne pouvez pas envoyer de messages à la rubrique et vous ne pouvez pas en recevoir de l’abonnement.

Autres états

L’énumération EntityStatus définit également un ensemble d’état de transition qui peuvent uniquement être configurés par le système.

Étapes suivantes

Pour plus d’informations sur la messagerie Service Bus, consultez les articles suivants :