메시징 엔터티 일시 중단 및 다시 활성화(사용 안 함)

큐, 토픽 및 구독을 일시적으로 중단할 수 있습니다. 일시 중단을 수행하면 엔터티가 사용 안 함 상태가 되며 모든 메시지는 스토리지에 유지됩니다. 그러나 메시지를 제거 또는 추가할 수 없으며 해당 프로토콜 작업은 오류를 생성합니다.

긴급한 관리상의 이유로 엔터티를 일시 중단하는 것이 좋습니다. 예를 들어 결함이 있는 수신기는 큐에서 메시지를 제거하고, 처리에 실패하고, 메시지를 잘못 완료하고 제거합니다. 이 경우 코드를 수정하고 배포할 때까지 수신 큐를 비활성화할 수 있습니다.

사용자 또는 시스템에 의해 일시 중단 또는 다시 활성화가 수행될 수 있습니다. 시스템은 구독 지출 제한에 도달하는 등 중대한 관리상의 이유가 있을 때만 엔터티를 일시 중단합니다. 시스템에서 사용하지 않도록 설정된 엔터티는 사용자가 다시 활성화할 수 없지만 일시 중단의 원인에 해결되면 복원됩니다.

큐 상태

에 대해 설정할 수 있는 상태는 다음과 같습니다.

  • Active: 큐가 활성 상태입니다. 큐에서 메시지를 보내고 받을 수 있습니다.
  • Disabled: 큐가 일시 중단되었습니다. SendDisabledReceiveDisabled를 모두 설정하는 것과 같습니다.
  • SendDisabled: 큐에 메시지를 보낼 수 없지만 큐에서 메시지를 받을 수는 있습니다. 큐에 메시지를 전송하려고 하면 예외가 발생합니다.
  • ReceiveDisabled: 큐에 메시지를 보낼 수 있지만 큐에서 메시지를 받을 수는 없습니다. 큐에서 메시지를 수신하려고 하면 예외가 발생합니다.

Azure Portal에서 큐 상태를 변경합니다.

  1. Azure portal에서 Service Bus 네임스페이스로 이동합니다.

  2. 상태를 변경할 큐를 산택합니다. 가운데 아래쪽 창에 큐가 표시됩니다.

  3. Service Bus 큐 페이지에서 큐의 현재 상태를 하이퍼링크로 표시합니다. 왼쪽 메뉴에서 개요를 선택하지 않은 경우 해당 개요를 선택하여 큐의 상태를 확인합니다. 큐의 현재 상태를 선택하여 변경합니다.

    Select state of the queue

  4. 큐의 새 상태를 선택하고 확인을 선택합니다.

    Set state of the queue

Azure CLI 또는 Azure PowerShell을 통해 Azure Resource Manager 템플릿을 사용하여 송신 및 수신 작업을 사용하지 않도록 설정할 수도 있습니다.

Azure PowerShell을 사용하여 큐 상태 변경

큐를 사용하지 않도록 설정하는 PowerShell 명령은 다음 예제에 나와 있습니다. 재활성화 명령은 동일하게 StatusActive로 설정합니다.

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

$q.Status = "Disabled"

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

토픽 상태

Azure Portal에서 토픽 상태를 변경할 수 있습니다. 토픽의 현재 상태를 선택하여 상태를 변경할 수 있는 다음 페이지를 표시합니다.

Change topic status

토픽에 대해 설정할 수 있는 상태는 다음과 같습니다.

  • 활성: 토픽이 활성 상태입니다. 토픽에 메시지를 보낼 수 있습니다.
  • 사용 안 함: 토픽이 일시 중단됩니다. 토픽에 메시지를 보낼 수 없습니다. 사용 안 함을 설정하는 것은 토픽에 대해 SendDisabled를 설정하는 것과 같습니다.
  • SendDisabled: Disabled와 같은 효과입니다. 토픽에 메시지를 보낼 수 없습니다. 토픽에 메시지를 전송하려고 하면 예외가 발생합니다.

구독 상태

Azure Portal에서 구독 상태를 변경할 수 있습니다. 구독의 현재 상태를 선택하여 상태를 변경할 수 있는 다음 페이지를 표시합니다.

Change subscription status

구독에 대해 설정할 수 있는 상태는 다음과 같습니다.

  • 활성: 구독이 활성 상태입니다. 구독에서 메시지를 받을 수 있습니다.
  • 사용 안 함: 구독이 일시 중단됩니다. 구독에서 메시지를 받을 수 없습니다. 구독에서 사용 안 함을 설정하는 것은 ReceiveDisabled를 설정하는 것과 같습니다. 구독에서 메시지를 수신하려고 하면 예외가 발생합니다.
  • ReceiveDisabled: Disabled와 같은 효과입니다. 구독에서 메시지를 받을 수 없습니다. 구독에서 메시지를 수신하려고 하면 예외가 발생합니다.

다음은 토픽 및 해당 구독에서 설정한 상태에 따라 이루어지는 동작을 보여줍니다.

토픽 상태 구독 상태 동작
활성화 활성화 토픽에 메시지를 보내고 구독에서 메시지를 받을 수 있습니다.
활성화 사용 안 함 또는 수신 사용 안 함 토픽에 메시지를 보낼 수 있지만 구독에서 메시지를 받을 수는 없습니다.
사용 안 함 또는 보내기 사용 안 함 활성화 토픽에 메시지를 보낼 수는 없지만 이미 구독에 있는 메시지는 받을 수 있습니다.
사용 안 함 또는 보내기 사용 안 함 사용 안 함 또는 수신 사용 안 함 토픽에 메시지를 보낼 수 없으며 구독에서도 받을 수 없습니다.

기타 상태

EntityStatus 열거형은 시스템에 의해서만 설정될 수 있는 전환 상태 집합도 정의합니다.

다음 단계

Service Bus 메시징에 대해 자세히 알아보려면 다음 항목을 참조하세요.