ServiceBusRuleManager.CreateRuleAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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 條件彼此結合。 亦即,如果有任何篩選成功,訊息會傳遞至訂用帳戶。