Compartir a través de


SqlRuleFilter Clase

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:

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 reglacon el objeto especificado.

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 reglasql, que es el código hash de la expresión Sql.

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:

sqlExpression - Expresión SQL para el filtro.

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:

other -
  • objeto al que se debe comparar el objeto SqlRuleFilter actual.

Returns:

True, si el objeto pasado es SqlRuleFilter con los mismos valores de parámetro, False en caso contrario.

getParameters

public Map getParameters()

Obtiene el valor de una expresión de filtro. Tipos permitidos: string, int, long, bool, double

Returns:

Obtiene el valor de una expresión de filtro.

getSqlExpression

public String getSqlExpression()

Obtiene la expresión SQL.

Returns:

Expresión SQL.

hashCode

public int hashCode()

Devuelve un código hash para este SqlRuleFilter, que es el código hash de SqlExpression.

Overrides:

SqlRuleFilter.hashCode()

Returns:

un valor de código hash para este objeto.

toString

public String toString()

Convierte el valor de la instancia actual en su representación de cadena equivalente.

Overrides:

SqlRuleFilter.toString()

Returns:

Representación de cadena de la instancia actual.

Se aplica a