Anhalten und Reaktivieren von Messagingentitäten (deaktiviert)

Warteschlangen, Themen und Abonnements können vorübergehend angehalten werden. Das Anhalten versetzt die Entität in einen deaktivierten Zustand, in dem alle Nachrichten im Speicher beibehalten werden. Es können jedoch keine Nachrichten entfernt oder hinzugefügt werden, und die entsprechenden Protokollvorgänge führen zu Fehlern.

Möglicherweise möchten Sie eine Entität aus dringenden administrativen Gründen anhalten. Ein fehlerhafter Empfänger nimmt z. B. Nachrichten aus der Warteschlange, verarbeitet diese nicht, vervollständigt die Nachrichten jedoch falsch und entfernt sie. In diesem Fall können Sie die Warteschlange für Empfangsvorgänge deaktivieren, bis Sie den Code korrigiert haben und bereitstellen.

Das Anhalten oder Reaktivieren kann entweder vom Benutzer oder vom System durchgeführt werden. Das System hält Entitäten nur aufgrund von schwerwiegenden administrativen Gründen an, z. B. das Erreichen des Ausgabenlimits des Abonnements. Vom System deaktivierte Entitäten können nicht vom Benutzer reaktiviert werden, sondern werden wiederhergestellt, wenn die Ursache des Anhaltens behandelt wurde.

Warteschlangenstatus

Folgende Zustände können für eine Warteschlange festgelegt werden:

  • Aktiv: Die Warteschlange ist aktiv. Sie können Nachrichten an die Warteschlange senden und aus dieser empfangen.
  • Disabled: Die Warteschlange wurde angehalten. Dies entspricht dem Festlegen von SendDisabled und ReceiveDisabled.
  • SendDisabled: Sie können keine Nachrichten an die Warteschlange senden, aber Sie können Nachrichten aus der Warteschlange empfangen. Sie erhalten eine Ausnahme, wenn Sie versuchen, Nachrichten an die Warteschlange zu senden.
  • ReceiveDisabled: Sie können Nachrichten an die Warteschlange senden, aber Sie können keine Nachrichten aus der Warteschlange empfangen. Sie erhalten eine Ausnahme, wenn Sie versuchen, Nachrichten aus der Warteschlange zu empfangen.

Ändern des Warteschlangenstatus im Azure-Portal:

  1. Navigieren Sie im Azure-Portal zu Ihrem Service Bus-Namespace.

  2. Wählen Sie die Warteschlange aus, deren Status Sie ändern möchten. Die Warteschlangen werden im unteren Bereich in der Mitte angezeigt.

  3. Auf der Seite Service Bus-Warteschlange wird der aktuelle Status der Warteschlange als Hyperlink angezeigt. Wenn die Übersicht nicht im linken Menü ausgewählt ist, wählen Sie diese Option aus, um den Status der Warteschlange anzuzeigen. Wählen Sie den aktuellen Status der Warteschlange aus, um ihn zu ändern.

    Select state of the queue

  4. Wählen Sie den neuen Status für die Warteschlange und dann OK aus.

    Set state of the queue

Sie können die Vorgänge „Senden“ und „Empfangen“ auch deaktivieren, indem Sie eine Azure Resource Manager-Vorlage über die Azure CLI oder Azure PowerShell verwenden.

Ändern des Warteschlangenstatus mithilfe von Azure PowerShell

Der PowerShell-Befehl zum Deaktivieren einer Warteschlange wird im folgenden Beispiel gezeigt. Der Befehl für die Reaktivierung ist identisch und legt Status auf Active fest.

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

$q.Status = "Disabled"

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

Themenstatus

Sie können den Themastatus im Azure-Portal ändern. Wählen Sie den aktuellen Status des Themas aus, um die folgende Seite anzuzeigen, auf der Sie den Status ändern können.

Change topic status

Folgende Status können für ein Thema festgelegt werden:

  • Aktiv: Das Thema ist aktiv. Sie können Nachrichten an das Thema senden.
  • Disabled: Das Thema wurde angehalten. Sie können keine Nachrichten an das Thema senden. Die Einstellung Deaktiviert entspricht dem Festlegen von SendDisabled für ein Thema.
  • SendDisabled: Dieselbe Auswirkung wie Deaktiviert. Sie können keine Nachrichten an das Thema senden. Sie erhalten eine Ausnahme, wenn Sie versuchen, Nachrichten an das Thema zu senden.

Abonnementstatus

Sie können den Abonnementstatus im Azure-Portal ändern. Wählen Sie den aktuellen Status des Abonnements aus, um die folgende Seite anzuzeigen, auf der Sie den Status ändern können.

Change subscription status

Folgende Status können für ein Abonnement festgelegt werden:

  • Aktiv: Das Abonnement ist aktiv. Sie können Nachrichten vom Abonnement empfangen.
  • Disabled: Das Abonnement wurde angehalten. Sie können keine Nachrichten aus dem Abonnement empfangen. Die Einstellung Deaktiviert für ein Abonnement entspricht der Einstellung ReceiveDisabled. Sie erhalten eine Ausnahme, wenn Sie versuchen, Nachrichten aus dem Abonnement zu empfangen.
  • ReceiveDisabled: Dieselbe Auswirkung wie Deaktiviert. Sie können keine Nachrichten aus dem Abonnement empfangen. Sie erhalten eine Ausnahme, wenn Sie versuchen, Nachrichten aus dem Abonnement zu empfangen.

Hier erfahren Sie, wie das Verhalten auf dem Status basiert, den Sie für ein Thema und dessen Abonnement festlegen.

Themenstatus Abonnementstatus Verhalten
Aktiv Aktiv Sie können Nachrichten an das Thema senden und aus dem Abonnement empfangen.
Aktiv Deaktiviert oder Empfangen deaktiviert Sie können Nachrichten an das Thema senden, aber keine Nachrichten aus dem Abonnement empfangen.
Deaktiviert oder Senden deaktiviert Aktiv Sie können keine Nachrichten an das Thema senden, aber Nachrichten aus dem Abonnement empfangen, die sich bereits im Abonnement befinden.
Deaktiviert oder Senden deaktiviert Deaktiviert oder Empfangen deaktiviert Sie können keine Nachrichten an das Thema senden und auch nicht aus dem Abonnement empfangen.

Andere Status

Die Enumeration EntityStatus definiert ebenfalls eine Reihe von Übergangszuständen, die nur vom System festgelegt werden können.

Nächste Schritte

Weitere Informationen zum Service Bus-Messaging finden Sie in folgenden Themen: