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
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:
- getCorrelationId() igual a
"email"
- getApplicationProperties() contém uma chave
"sender"
com valor"joseph"
- getApplicationProperties() contém uma chave
"importance"
com valor *"joseph"
OU o valor é NULL.
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 Regra |
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 Regra |
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:
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:
- o objeto ao qual o SqlRuleFilter atual deve ser comparado.
Returns:
getParameters
public Map
Obtém o valor de uma expressão de filtro. Tipos permitidos: string, int, long, bool, double
Returns:
getSqlExpression
public String getSqlExpression()
Obtém a expressão SQL.
Returns:
hashCode
public int hashCode()
Retorna um código hash para este SqlRuleFilter, que é o hashcode para SqlExpression.
Overrides:
SqlRuleFilter.hashCode()Returns:
toString
public String toString()
Converte o valor da instância atual em sua representação de cadeia de caracteres equivalente.
Overrides:
SqlRuleFilter.toString()Returns:
Aplica-se a
Azure SDK for Java