Wstrzymaj i ponownie uaktywnij jednostki obsługi komunikatów (wyłącz)
Kolejki, tematy i subskrypcje mogą być tymczasowo zawieszone. Zawieszenie umieszcza jednostkę w stanie wyłączonym, w którym wszystkie komunikaty są przechowywane w magazynie. Nie można jednak usuwać ani dodawać komunikatów, a odpowiednie operacje protokołu dają błędy.
Możesz chcieć zawiesić jednostkę z pilnych powodów administracyjnych. Na przykład uszkodzony odbiornik pobiera komunikaty z kolejki, kończy się niepowodzeniem przetwarzania, a jednak niepoprawnie kończy komunikaty i usuwa je. W takim przypadku możesz wyłączyć kolejkę dla odbieranych do momentu poprawienia i wdrożenia kodu.
Zawieszenie lub ponowna aktywacja może być wykonywana przez użytkownika lub przez system. System zawiesza tylko jednostki ze względu na poważne przyczyny administracyjne, takie jak przekroczenie limitu wydatków subskrypcji. Nie można ponownie uaktywnić jednostek wyłączonych przez system przez użytkownika, ale są przywracane po usunięciu przyczyny zawieszenia.
Stan kolejki
Stany, które można ustawić dla kolejki , to:
- Aktywne: kolejka jest aktywna. Komunikaty można wysyłać do kolejki i odbierać z kolejki.
- Wyłączone: kolejka jest zawieszona. Jest to równoważne ustawieniu zarówno SendDisabled, jak i ReceiveDisabled.
- SendDisabled: nie można wysyłać komunikatów do kolejki, ale można z niej odbierać komunikaty. Jeśli spróbujesz wysłać komunikaty do kolejki, otrzymasz wyjątek.
- ReceiveDisabled: komunikaty można wysyłać do kolejki, ale nie można z niej odbierać komunikatów. Jeśli spróbujesz odbierać komunikaty z kolejki, otrzymasz wyjątek.
Zmień stan kolejki w witrynie Azure Portal:
W witrynie Azure Portal przejdź do przestrzeni nazw usługi Service Bus.
Wybierz kolejkę, dla której chcesz zmienić stan. Kolejki są widoczne w dolnym okienku w środku.
Na stronie Kolejka usługi Service Bus zobacz bieżący stan kolejki jako hiperlink. Jeśli w menu po lewej stronie nie wybrano pozycji Przegląd , wybierz go, aby wyświetlić stan kolejki. Wybierz bieżący stan kolejki, aby ją zmienić.
Wybierz nowy stan kolejki, a następnie wybierz przycisk OK.
Możesz również wyłączyć operacje wysyłania i odbierania przy użyciu szablonu usługi Azure Resource Manager za pośrednictwem interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.
Zmienianie stanu kolejki przy użyciu programu Azure PowerShell
W poniższym przykładzie pokazano polecenie programu PowerShell, aby wyłączyć kolejkę. Polecenie ponownej aktywacji jest równoważne, ustawiając wartość Status
Aktywne.
$q = Get-AzServiceBusQueue -ResourceGroup mygrp -NamespaceName myns -QueueName myqueue
$q.Status = "Disabled"
Set-AzServiceBusQueue -ResourceGroup mygrp -NamespaceName myns -QueueName myqueue -QueueObj $q
Stan tematu
Stan tematu można zmienić w witrynie Azure Portal. Wybierz bieżący stan tematu, aby wyświetlić następującą stronę, która umożliwia zmianę stanu.
Stany, które można ustawić dla tematu, to:
- Aktywne: temat jest aktywny. Wiadomości można wysyłać do tematu.
- Wyłączone: temat jest zawieszony. Nie można wysyłać komunikatów do tematu. Ustawienie Wyłączone jest równoważne ustawieniu elementu SendDisabled dla tematu.
- SendDisabled: taki sam efekt jak Wyłączone. Nie można wysyłać komunikatów do tematu. Jeśli spróbujesz wysłać komunikaty do tematu, otrzymasz wyjątek.
Stan subskrypcji
Stan subskrypcji można zmienić w witrynie Azure Portal. Wybierz bieżący stan subskrypcji, aby wyświetlić następującą stronę, która umożliwia zmianę stanu.
Stany, które można ustawić dla subskrypcji , to:
- Aktywne: subskrypcja jest aktywna. Możesz odbierać komunikaty z subskrypcji.
- Wyłączone: subskrypcja jest zawieszona. Nie można odbierać komunikatów z subskrypcji. Ustawienie Wyłączone w subskrypcji jest równoważne ustawieniu właściwości ReceiveDisabled. Jeśli spróbujesz otrzymywać komunikaty z subskrypcji, otrzymasz wyjątek.
- ReceiveDisabled: taki sam efekt jak Wyłączony. Nie można odbierać komunikatów z subskrypcji. Jeśli spróbujesz otrzymywać komunikaty z subskrypcji, otrzymasz wyjątek.
Poniżej przedstawiono sposób zachowania na podstawie stanu ustawionego dla tematu i jego subskrypcji.
Stan tematu | Stan subskrypcji | Zachowanie |
---|---|---|
Aktywne | Aktywne | Komunikaty można wysyłać do tematu i odbierać komunikaty z subskrypcji. |
Aktywny | Wyłączone lub odbierz wyłączone | Komunikaty można wysyłać do tematu, ale nie można odbierać komunikatów z subskrypcji |
Wyłączone lub Wyłączone wysyłanie | Aktywny | Nie można wysyłać komunikatów do tematu, ale możesz odbierać komunikaty, które znajdują się już w subskrypcji. |
Wyłączone lub Wyłączone wysyłanie | Wyłączone lub odbierz wyłączone | Nie można wysyłać komunikatów do tematu i nie można ich odebrać z subskrypcji. |
Inne stany
Wyliczenie EntityStatus definiuje również zestaw stanów przejściowych, które można ustawić tylko przez system.
Następne kroki
Aby dowiedzieć się więcej o komunikatach usługi Service Bus, zobacz następujące tematy: