次の方法で共有


SqlRuleFilter クラス

public class SqlRuleFilter
extends RuleFilter

pub/sub パイプラインで実行される式とアクションの構成であるフィルターを表します。

SqlRuleFilter 、到着するメッセージのユーザー定義プロパティとシステム プロパティに対してブローカーで評価される SQL に似た条件式を保持します。 すべてのシステム プロパティ (クラスに明示的に ServiceBusMessage 一覧表示されているすべてのプロパティ) は、条件式で プレフィックスに を付 sys. ける必要があります。 SQL サブセットは、プロパティ (EXISTS) の存在のテスト、null 値 (IS NULL)、論理 NOT/AND/OR、関係演算子、数値算術、LIKE を使用した単純なテキスト パターン マッチングのテストを実装します。

サンプル: SQL ルール アクションを使用して SQL ルール フィルターを作成する

次のコード サンプルでは、SQL フィルターと SQL アクションを使用してルールを作成します。 このルールは、次のメッセージと一致します。

フィルターが一致する場合は、 で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 ルールフィルターのハッシュ コード (Sql式のハッシュコード) を返します。

String toString()

現在のインスタンスの値を等価の文字列表現に変換します。

メソッドの継承元: java.lang.Object

コンストラクターの詳細

SqlRuleFilter

public SqlRuleFilter(String sqlExpression)

指定された SQL 式を使用して新しいインスタンスを作成します。

Parameters:

sqlExpression - フィルターの SQL 式。

メソッドの詳細

equals

public boolean equals(Object other)

この RuleFilter を指定したオブジェクトと比較します。 引数が null ではなく、このオブジェクトと同じパラメーターを持つ SqlRuleFilter オブジェクトである場合にのみ、結果は true になります。

Overrides:

SqlRuleFilter.equals(Object other)

Parameters:

other -
  • 現在の SqlRuleFilter を比較するオブジェクト。

Returns:

渡されたオブジェクトが同じパラメーター値を持つ SqlRuleFilter の場合は True、それ以外の場合は False。

getParameters

public Map getParameters()

フィルター式の値を取得します。 使用できる型: string、int、long、bool、double

Returns:

フィルター式の値を取得します。

getSqlExpression

public String getSqlExpression()

SQL 式を取得します。

Returns:

SQL 式。

hashCode

public int hashCode()

この SqlRuleFilter のハッシュ コード (SqlExpression のハッシュコード) を返します。

Overrides:

SqlRuleFilter.hashCode()

Returns:

このオブジェクトのハッシュ コード値。

toString

public String toString()

現在のインスタンスの値を等価の文字列表現に変換します。

Overrides:

SqlRuleFilter.toString()

Returns:

現在のインスタンスの文字列表現。

適用対象