Partilhar via


SqlRuleFilter Classe

public class SqlRuleFilter
extends RuleFilter

Representa um filtro que é uma composição de uma expressão e uma ação executada no pipeline pub/sub.

Um SqlRuleFilter contém uma expressão de condição semelhante a SQL que é avaliada no agente em relação às propriedades definidas pelo usuário e às propriedades do sistema das mensagens que chegam. Todas as propriedades do sistema (que são todas as propriedades explicitamente listadas na ServiceBusMessage classe ) devem ser prefixadas com sys. na expressão de condição. O subconjunto SQL implementa testes para existência de propriedades (EXISTS), teste para valores nulos (IS NULL), NOT/AND/OR lógicos, operadores relacionais, aritmética numérica e correspondência de padrões de texto simples com LIKE.

Exemplo: criar filtro de regra SQL com a ação de regra SQL

O exemplo de código abaixo cria uma regra usando um filtro SQL e uma ação SQL. A regra corresponde às mensagens com:

Se o filtro corresponder, ele definirá/atualizará a "importance" chave em getApplicationProperties() com "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());

Resumo do Construtor

Construtor Description
SqlRuleFilter(String sqlExpression)

Cria uma nova instância com a expressão SQL fornecida.

Resumo do método

Modificador e tipo Método e descrição
boolean equals(Object other)

Compara esse Filtro de Regracom o objeto especificado.

Map<String,Object> getParameters()

Obtém o valor de uma expressão de filtro.

String getSqlExpression()

Obtém a expressão SQL.

int hashCode()

Retorna um código hash para este Filtro de RegraSql, que é o hashcode para a Expressão Sql.

String toString()

Converte o valor da instância atual em sua representação de cadeia de caracteres equivalente.

Métodos herdados de java.lang.Object

Detalhes do construtor

SqlRuleFilter

public SqlRuleFilter(String sqlExpression)

Cria uma nova instância com a expressão SQL fornecida.

Parameters:

sqlExpression - Expressão SQL para o filtro.

Detalhes do método

equals

public boolean equals(Object other)

Compara este RuleFilter com o objeto especificado. O resultado será true se e somente se o argumento não for nulo e for um objeto SqlRuleFilter que tenha os mesmos parâmetros desse objeto.

Overrides:

SqlRuleFilter.equals(Object other)

Parameters:

other -
  • o objeto ao qual o SqlRuleFilter atual deve ser comparado.

Returns:

True, se o objeto passado for um SqlRuleFilter com os mesmos valores de parâmetro, caso contrário, False.

getParameters

public Map getParameters()

Obtém o valor de uma expressão de filtro. Tipos permitidos: string, int, long, bool, double

Returns:

Obtém o valor de uma expressão de filtro.

getSqlExpression

public String getSqlExpression()

Obtém a expressão SQL.

Returns:

A expressão SQL.

hashCode

public int hashCode()

Retorna um código hash para este SqlRuleFilter, que é o hashcode para SqlExpression.

Overrides:

SqlRuleFilter.hashCode()

Returns:

um valor de código hash para esse objeto.

toString

public String toString()

Converte o valor da instância atual em sua representação de cadeia de caracteres equivalente.

Overrides:

SqlRuleFilter.toString()

Returns:

Uma representação de cadeia de caracteres da instância atual.

Aplica-se a