SqlRuleFilter Clase
- java.
lang. Object - com.
azure. messaging. servicebus. administration. models. RuleFilter - com.
azure. messaging. servicebus. administration. models. SqlRuleFilter
- com.
- com.
public class SqlRuleFilter
extends RuleFilter
Representa un filtro que es una composición de una expresión y una acción que se ejecuta en la canalización pub/sub.
contiene SqlRuleFilter una expresión de condición similar a SQL que se evalúa en el agente contra las propiedades definidas por el usuario y las propiedades del sistema de los mensajes que llegan. Todas las propiedades del sistema (que son todas las propiedades enumeradas explícitamente en la ServiceBusMessage clase) deben tener como prefijo sys.
en la expresión de condición. El subconjunto de SQL implementa pruebas para la existencia de propiedades (EXISTS), pruebas para valores NULL (IS NULL), NOT/AND/OR lógicos, operadores relacionales, aritmética numérica y coincidencia de patrones de texto simples con LIKE.
Ejemplo: Creación de un filtro de regla sql con una acción de regla de SQL
En el ejemplo de código siguiente se crea una regla mediante un filtro SQL y una acción SQL. La regla coincide con los mensajes con:
- getCorrelationId() igual a
"email"
- getApplicationProperties() contiene una clave
"sender"
con valor"joseph"
- getApplicationProperties() contiene una clave
"importance"
con el valor *"joseph"
O el valor es NULL.
Si el filtro coincide, establecerá o actualizará la "importance"
clave en getApplicationProperties() con "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());
Resumen del constructor
Constructor | Description |
---|---|
SqlRuleFilter(String sqlExpression) |
Crea una nueva instancia con la expresión SQL especificada. |
Resumen del método
Modificador y tipo | Método y descripción |
---|---|
boolean |
equals(Object other)
Compara este filtro de regla |
Map<String,Object> |
getParameters()
Obtiene el valor de una expresión de filtro. |
String |
getSqlExpression()
Obtiene la expresión SQL. |
int |
hashCode()
Devuelve un código hash para este filtro de regla |
String |
toString()
Convierte el valor de la instancia actual en su representación de cadena equivalente. |
Métodos heredados de java.lang.Object
Detalles del constructor
SqlRuleFilter
public SqlRuleFilter(String sqlExpression)
Crea una nueva instancia con la expresión SQL especificada.
Parameters:
Detalles del método
equals
public boolean equals(Object other)
Compara este RuleFilter con el objeto especificado. El resultado es true si y solo si el argumento no es null y es un objeto SqlRuleFilter que tiene los mismos parámetros que este objeto.
Overrides:
SqlRuleFilter.equals(Object other)Parameters:
- objeto al que se debe comparar el objeto SqlRuleFilter actual.
Returns:
getParameters
public Map
Obtiene el valor de una expresión de filtro. Tipos permitidos: string, int, long, bool, double
Returns:
getSqlExpression
public String getSqlExpression()
Obtiene la expresión SQL.
Returns:
hashCode
public int hashCode()
Devuelve un código hash para este SqlRuleFilter, que es el código hash de SqlExpression.
Overrides:
SqlRuleFilter.hashCode()Returns:
toString
public String toString()
Convierte el valor de la instancia actual en su representación de cadena equivalente.
Overrides:
SqlRuleFilter.toString()Returns:
Se aplica a
Azure SDK for Java