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:
En Azure Portal, vaya al espacio de nombres de Service Bus.
Seleccione la cola para la que desea cambiar el estado. Verá las colas en el panel inferior, en la parte central.
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.
Seleccione el nuevo estado de la cola y luego Aceptar.
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.
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.
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: