SqlRuleFilter Classe
- java.
lang. Object - com.
azure. messaging. servicebus. administration. models. RuleFilter - com.
azure. messaging. servicebus. administration. models. SqlRuleFilter
- com.
- com.
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 :
- getCorrelationId() égal à
"email"
- getApplicationProperties() contient une clé
"sender"
avec une valeur"joseph"
- getApplicationProperties() contient une clé
"importance"
avec la valeur *"joseph"
OU la valeur est NULL.
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 |
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ègle |
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:
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:
- objet auquel le SqlRuleFilter actuel doit être comparé.
Returns:
getParameters
public Map
Obtient la valeur d’une expression de filtre. Types autorisés : string, int, long, bool, double
Returns:
getSqlExpression
public String getSqlExpression()
Obtient l’expression SQL.
Returns:
hashCode
public int hashCode()
Retourne un code de hachage pour ce SqlRuleFilter, qui est le code de hachage pour SqlExpression.
Overrides:
SqlRuleFilter.hashCode()Returns:
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:
S’applique à
Azure SDK for Java