Partager via


SqlRuleFilter Classe

public class SqlRuleFilter
extends RuleFilter

Représente un filtre qui est une composition d’une expression et une action exécutée dans le pipeline pub/sub.

un SqlRuleFilter contient une expression de condition de type SQL qui est évaluée dans le répartiteur par rapport aux propriétés définies par l’utilisateur et aux propriétés système des messages arrivants. Toutes les propriétés système (qui sont toutes des propriétés explicitement répertoriées sur la ServiceBusMessage classe) doivent être précédées de sys. dans l’expression de condition. Le sous-ensemble SQL implémente le test de l’existence des propriétés (EXISTS), le test des valeurs null (IS NULL), les opérateurs logiques NOT/AND/OR, les opérateurs relationnels, l’arithmétique numérique et la correspondance de modèle de texte simple avec LIKE.

Exemple : Créer un filtre de règle SQL avec une action de règle SQL

L’exemple de code ci-dessous crée une règle à l’aide d’un filtre SQL et d’une action SQL. La règle correspond aux messages avec :

Si le filtre correspond, il définit/met à jour la "importance" clé dans getApplicationProperties() avec "critical".

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());

Récapitulatif du constructeur

Constructeur Description
SqlRuleFilter(String sqlExpression)

Crée un instance avec l’expression SQL donnée.

Résumé de la méthode

Modificateur et type Méthode et description
boolean equals(Object other)

Compare ce filtre de règleà l’objet spécifié.

Map<String,Object> getParameters()

Obtient la valeur d’une expression de filtre.

String getSqlExpression()

Obtient l’expression SQL.

int hashCode()

Retourne un code de hachage pour ce filtre de règleSql, qui est le code de hachage de l’expression Sql.

String toString()

Convertit la valeur de la instance actuelle en sa représentation sous forme de chaîne équivalente.

Méthodes héritées de java.lang.Object

Détails du constructeur

SqlRuleFilter

public SqlRuleFilter(String sqlExpression)

Crée un instance avec l’expression SQL donnée.

Parameters:

sqlExpression - Expression SQL pour le filtre.

Détails de la méthode

equals

public boolean equals(Object other)

Compare ce RuleFilter à l’objet spécifié. Le résultat est vrai si et uniquement si l’argument n’est pas null et s’il s’agit d’un objet SqlRuleFilter qui a les mêmes paramètres que cet objet.

Overrides:

SqlRuleFilter.equals(Object other)

Parameters:

other -
  • objet auquel le SqlRuleFilter actuel doit être comparé.

Returns:

True, si l’objet passé est un SqlRuleFilter avec les mêmes valeurs de paramètre, false dans le cas contraire.

getParameters

public Map getParameters()

Obtient la valeur d’une expression de filtre. Types autorisés : string, int, long, bool, double

Returns:

Obtient la valeur d’une expression de filtre.

getSqlExpression

public String getSqlExpression()

Obtient l’expression SQL.

Returns:

Expression SQL.

hashCode

public int hashCode()

Retourne un code de hachage pour ce SqlRuleFilter, qui est le code de hachage pour SqlExpression.

Overrides:

SqlRuleFilter.hashCode()

Returns:

valeur de code de hachage pour cet objet.

toString

public String toString()

Convertit la valeur de la instance actuelle en sa représentation sous forme de chaîne équivalente.

Overrides:

SqlRuleFilter.toString()

Returns:

Représentation sous forme de chaîne de l'instance en cours.

S’applique à