Suspensión y reactivación de entidades de mensajería (deshabilitar)

Las colas, los temas y las suscripciones se pueden suspender temporalmente. La suspensión coloca la entidad en un estado deshabilitado, en el que todos los mensajes se mantienen en el almacenamiento. Sin embargo, no es posible quitar ni agregar mensajes, y las respectivas operaciones de protocolo generan error.

Es posible que quiera suspender una entidad por razones administrativas urgentes. Por ejemplo, cuando un receptor defectuoso saca mensajes de la cola, no realiza el procesamiento y encima completa incorrectamente los mensajes y los quita. En este caso, puede que quiera deshabilitar la cola de recepción hasta que corrija e implemente el código.

El usuario o el sistema pueden realizar la suspensión o la reactivación. El sistema solo suspende las entidades por motivos administrativos graves como haber alcanzado el límite de gasto de suscripción. El usuario no puede reactivar las entidades deshabilitadas por el sistema, pero estas se restaurarán cuando se haya solucionado la causa de la suspensión.

Estado de la cola

Los estados que se pueden establecer para una cola son:

  • Activa: la cola está activa. Puede enviar y recibir mensajes de la cola.
  • Disabled: la cola se ha suspendido. Es equivalente a establecer SendDisabled y ReceiveDisabled.
  • SendDisabled: no puede enviar mensajes a la cola, pero puede recibirlos de ella. Si intenta enviar mensajes a la cola, recibirá una excepción.
  • ReceiveDisabled: puede enviar mensajes a la cola, pero no puede recibirlos de ella. Si intenta recibir mensajes de la cola, obtendrá una excepción.

Cambie el estado de la cola en Azure Portal:

  1. En Azure Portal, vaya al espacio de nombres de Service Bus.

  2. Seleccione la cola para la que desea cambiar el estado. Verá las colas en el panel inferior, en la parte central.

  3. En la página Cola de Service Bus, vea el estado actual de la cola como un hipervínculo. Si no está seleccionada la opción de información general en el menú de la izquierda, selecciónela para ver el estado de la cola. Seleccione el estado actual de la cola para cambiarlo.

    Select state of the queue

  4. Seleccione el nuevo estado de la cola y luego Aceptar.

    Set state of the queue

También puede deshabilitar las operaciones de envío y recepción mediante una plantilla de Azure Resource Manager a través de la CLI de Azure o Azure PowerShell.

Cambio del estado de la cola mediante Azure PowerShell

El comando de PowerShell para deshabilitar una cola se muestra en el ejemplo siguiente. El comando de reactivación es equivalente a establecer Status en Activo.

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

$q.Status = "Disabled"

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

Estado del tema

Puede cambiar el estado del tema en Azure Portal. Seleccione el estado actual del tema para ver la siguiente página, que le permite cambiar el estado.

Change topic status

Los estados que se pueden establecer para un tema son:

  • Activa: El tema está activo. Puede enviar mensajes al tema.
  • Disabled: El tema se ha suspendido. No puede enviar mensajes al tema. Especificar la opción Deshabilitado equivale a especificar SendDisabled para un tema.
  • SendDisabled: El mismo efecto que Disabled. No puede enviar mensajes al tema. Si intenta enviar mensajes al tema, recibirá una excepción.

Estado de la suscripción

Puede cambiar el estado de la suscripción en Azure Portal. Seleccione el estado actual de la suscripción para ver la siguiente página, que le permite cambiar el estado.

Change subscription status

Los estados que se pueden establecer para una suscripción son:

  • Activa: Que la suscripción está activa. Puede recibir mensajes de la suscripción.
  • Disabled: la suscripción está suspendida. No puede recibir mensajes de la suscripción. Especificar Deshabilitado para una suscripción equivale a especificar ReceiveDisabled. Si intenta recibir mensajes de la suscripción, obtendrá una excepción.
  • ReceiveDisabled: El mismo efecto que Disabled. No puede recibir mensajes de la suscripción. Si intenta recibir mensajes de la suscripción, obtendrá una excepción.

Este es el modo en que el comportamiento se basa para el estado establecido en un tema y su suscripción.

Estado del tema Estado de la suscripción Comportamiento
Activo Activo Puede enviar mensajes al tema y recibirlos de la suscripción.
Activo Deshabilitada o recepción deshabilitada Puede enviar mensajes al tema, pero no puede recibirlos de la suscripción.
Deshabilitada o envío deshabilitado Activo No puede enviar mensajes al tema, pero puede recibir los que ya estén en la suscripción.
Deshabilitada o envío deshabilitado Deshabilitada o recepción deshabilitada No puede enviar mensajes al tema ni tampoco recibirlos de la suscripción.

Otros estados

La enumeración EntityStatus también define un conjunto de estados de transición que solo puede establecer el sistema.

Pasos siguientes

Para más información sobre la mensajería de Service Bus, consulte los siguientes temas: