共用方式為


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 實例,可向要求發出取消作業的訊號。

傳回

表示非同步加入規則作業的工作實例。

例外狀況

  • 具有相同名稱的規則存在於訂用帳戶之下。 在此案例中, Reason 會設定為 MessagingEntityAlreadyExists
  • 作業逾時。在此案例中, Reason 會設定為 ServiceTimeout
  • 不支援實體的指定大小,或達到允許的配額上限。 您必須指定其中一個支援的大小值、刪除現有的實體,或增加配額大小。 在此案例中,失敗原因會設定為 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 實例,可向要求發出取消作業的訊號。

傳回

表示非同步加入規則作業的工作實例。

例外狀況

  • 具有相同名稱的規則存在於訂用帳戶之下。 在此案例中, Reason 會設定為 MessagingEntityAlreadyExists
  • 作業逾時。在此案例中, Reason 會設定為 ServiceTimeout
  • 不支援實體的指定大小,或達到允許的配額上限。 您必須指定其中一個支援的大小值、刪除現有的實體,或增加配額大小。 在此案例中,失敗原因會設定為 QuotaExceeded
  • 伺服器忙碌中。 您應該等到重試作業。 在此案例中,失敗原因會設定為 ServiceBusy
  • 發生內部錯誤或非預期的例外狀況。 在此案例中,失敗原因會設定為 GeneralError

備註

您可以將規則新增至訂用帳戶,以決定主題中的哪些訊息應該到達訂用帳戶。 建立訂用帳戶時,一律會新增名為 DefaultRuleName 的預設 TrueRuleFilter 規則。 您可以將具有不同名稱的多個規則新增至相同的訂用帳戶。 多個篩選準則會使用邏輯 OR 條件彼此結合。 亦即,如果有任何篩選成功,訊息會傳遞至訂用帳戶。

適用於