SqlRuleFilter クラス
- java.
lang. Object - com.
azure. messaging. servicebus. administration. models. RuleFilter - com.
azure. messaging. servicebus. administration. models. SqlRuleFilter
- com.
- com.
public class SqlRuleFilter
extends RuleFilter
pub/sub パイプラインで実行される式とアクションの構成であるフィルターを表します。
は SqlRuleFilter 、到着するメッセージのユーザー定義プロパティとシステム プロパティに対してブローカーで評価される SQL に似た条件式を保持します。 すべてのシステム プロパティ (クラスに明示的に ServiceBusMessage 一覧表示されているすべてのプロパティ) は、条件式で プレフィックスに を付 sys.
ける必要があります。 SQL サブセットは、プロパティ (EXISTS) の存在のテスト、null 値 (IS NULL)、論理 NOT/AND/OR、関係演算子、数値算術、LIKE を使用した単純なテキスト パターン マッチングのテストを実装します。
サンプル: SQL ルール アクションを使用して SQL ルール フィルターを作成する
次のコード サンプルでは、SQL フィルターと SQL アクションを使用してルールを作成します。 このルールは、次のメッセージと一致します。
- getCorrelationId() 等しい
"email"
- getApplicationProperties() 値を持つキー
"sender"
が含まれています"joseph"
- getApplicationProperties()には、値 *
"joseph"
または 値が NULL のキー"importance"
が含まれています。
フィルターが一致する場合は、 でgetApplicationProperties()"critical"
キーを"importance"
設定または更新します。
String topicName = "emails";
String subscriptionName = "important-emails";
String ruleName = "emails-from-joseph";
RuleFilter sqlRuleFilter = new SqlRuleFilter(
"sys.CorrelationId = 'email' AND sender = 'joseph' AND (importance IS NULL OR importance = 'high')");
RuleAction sqlRuleAction = new SqlRuleAction("SET importance = 'critical';");
CreateRuleOptions createRuleOptions = new CreateRuleOptions()
.setFilter(sqlRuleFilter)
.setAction(sqlRuleAction);
RuleProperties rule = client.createRule(topicName, ruleName, subscriptionName, createRuleOptions);
System.out.printf("Rule '%s' created for topic %s, subscription %s. Filter: %s%n", rule.getName(), topicName,
subscriptionName, rule.getFilter());
コンストラクターの概要
コンストラクター | 説明 |
---|---|
SqlRuleFilter(String sqlExpression) |
指定された SQL 式を使用して新しいインスタンスを作成します。 |
メソッドの概要
修飾子と型 | メソッドと説明 |
---|---|
boolean |
equals(Object other)
このルール |
Map<String,Object> |
getParameters()
フィルター式の値を取得します。 |
String |
getSqlExpression()
SQL 式を取得します。 |
int |
hashCode()
この Sql ルール |
String |
toString()
現在のインスタンスの値を等価の文字列表現に変換します。 |
メソッドの継承元: java.lang.Object
コンストラクターの詳細
SqlRuleFilter
public SqlRuleFilter(String sqlExpression)
指定された SQL 式を使用して新しいインスタンスを作成します。
Parameters:
メソッドの詳細
equals
public boolean equals(Object other)
この RuleFilter を指定したオブジェクトと比較します。 引数が null ではなく、このオブジェクトと同じパラメーターを持つ SqlRuleFilter オブジェクトである場合にのみ、結果は true になります。
Overrides:
SqlRuleFilter.equals(Object other)Parameters:
- 現在の SqlRuleFilter を比較するオブジェクト。
Returns:
getParameters
public Map
フィルター式の値を取得します。 使用できる型: string、int、long、bool、double
Returns:
getSqlExpression
public String getSqlExpression()
SQL 式を取得します。
Returns:
hashCode
public int hashCode()
この SqlRuleFilter のハッシュ コード (SqlExpression のハッシュコード) を返します。
Overrides:
SqlRuleFilter.hashCode()Returns:
toString
public String toString()
現在のインスタンスの値を等価の文字列表現に変換します。
Overrides:
SqlRuleFilter.toString()Returns:
適用対象
Azure SDK for Java