다음을 통해 공유


ServiceBusRuleManager.CreateRuleAsync 메서드

정의

오버로드

CreateRuleAsync(CreateRuleOptions, CancellationToken)

현재 구독에 규칙을 추가하여 토픽에서 구독으로 도달하는 메시지를 필터링합니다.

CreateRuleAsync(String, RuleFilter, CancellationToken)

현재 구독에 규칙을 추가하여 토픽에서 구독으로 도달하는 메시지를 필터링합니다.

CreateRuleAsync(CreateRuleOptions, CancellationToken)

현재 구독에 규칙을 추가하여 토픽에서 구독으로 도달하는 메시지를 필터링합니다.

public virtual System.Threading.Tasks.Task CreateRuleAsync (Azure.Messaging.ServiceBus.Administration.CreateRuleOptions options, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateRuleAsync : Azure.Messaging.ServiceBus.Administration.CreateRuleOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.CreateRuleAsync : Azure.Messaging.ServiceBus.Administration.CreateRuleOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overridable Function CreateRuleAsync (options As CreateRuleOptions, Optional cancellationToken As CancellationToken = Nothing) As Task

매개 변수

options
CreateRuleOptions

추가할 규칙에 대한 옵션입니다.

cancellationToken
CancellationToken

작업을 취소하라는 요청을 신호로 알리는 선택적 CancellationToken instance.

반환

비동기 규칙 추가 작업을 나타내는 작업 instance.

예외

  • 동일한 이름의 규칙이 구독 아래에 있습니다. 이 경우 는 ReasonMessagingEntityAlreadyExists 설정됩니다.
  • 작업 시간이 초과되었습니다. 이 경우 는 ReasonServiceTimeout 설정됩니다.
  • 엔터티의 지정된 크기가 지원되지 않거나 허용되는 최대 할당량에 도달했습니다. 지원되는 크기 값 중 하나를 지정하거나, 기존 엔터티를 삭제하거나, 할당량 크기를 늘려야 합니다. 이 경우 실패 이유가 로 QuotaExceeded 설정됩니다.
  • 서버가 사용 중입니다. 작업을 다시 시도하기 전에 기다려야 합니다. 이 경우 실패 이유가 로 ServiceBusy 설정됩니다.
  • 내부 오류 또는 예기치 않은 예외가 발생합니다. 이 경우 실패 이유가 로 GeneralError 설정됩니다.

설명

구독에 연결할 토픽의 메시지를 결정하는 규칙을 구독에 추가할 수 있습니다. 구독을 만드는 동안 이라는 DefaultRuleName 기본 TrueRuleFilter 규칙이 항상 추가됩니다. 동일한 구독에 고유한 이름을 가진 여러 규칙을 추가할 수 있습니다. 여러 필터가 논리 OR 조건을 사용하여 서로 결합됩니다. 즉, 필터가 성공하면 메시지가 구독에 전달됩니다.

적용 대상

CreateRuleAsync(String, RuleFilter, CancellationToken)

현재 구독에 규칙을 추가하여 토픽에서 구독으로 도달하는 메시지를 필터링합니다.

public virtual System.Threading.Tasks.Task CreateRuleAsync (string ruleName, Azure.Messaging.ServiceBus.Administration.RuleFilter filter, System.Threading.CancellationToken cancellationToken = default);
abstract member CreateRuleAsync : string * Azure.Messaging.ServiceBus.Administration.RuleFilter * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.CreateRuleAsync : string * Azure.Messaging.ServiceBus.Administration.RuleFilter * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overridable Function CreateRuleAsync (ruleName As String, filter As RuleFilter, Optional cancellationToken As CancellationToken = Nothing) As Task

매개 변수

ruleName
String

규칙의 이름

filter
RuleFilter

메시지를 일치시킬 필터 식입니다.

cancellationToken
CancellationToken

작업을 취소하라는 요청을 신호로 알리는 선택적 CancellationToken instance.

반환

비동기 규칙 추가 작업을 나타내는 작업 instance.

예외

  • 동일한 이름의 규칙이 구독 아래에 있습니다. 이 경우 는 ReasonMessagingEntityAlreadyExists 설정됩니다.
  • 작업 시간이 초과되었습니다. 이 경우 는 ReasonServiceTimeout 설정됩니다.
  • 엔터티의 지정된 크기가 지원되지 않거나 허용되는 최대 할당량에 도달했습니다. 지원되는 크기 값 중 하나를 지정하거나, 기존 엔터티를 삭제하거나, 할당량 크기를 늘려야 합니다. 이 경우 실패 이유가 로 QuotaExceeded 설정됩니다.
  • 서버가 사용 중입니다. 작업을 다시 시도하기 전에 기다려야 합니다. 이 경우 실패 이유가 로 ServiceBusy 설정됩니다.
  • 내부 오류 또는 예기치 않은 예외가 발생합니다. 이 경우 실패 이유가 로 GeneralError 설정됩니다.

설명

구독에 연결할 토픽의 메시지를 결정하는 규칙을 구독에 추가할 수 있습니다. 구독을 만드는 동안 이라는 DefaultRuleName 기본 TrueRuleFilter 규칙이 항상 추가됩니다. 동일한 구독에 고유한 이름을 가진 여러 규칙을 추가할 수 있습니다. 여러 필터가 논리 OR 조건을 사용하여 서로 결합됩니다. 즉, 필터가 성공하면 메시지가 구독에 전달됩니다.

적용 대상