Freigeben über


SqlRuleFilter Klasse

public class SqlRuleFilter
extends RuleFilter

Stellt einen Filter dar, bei dem es sich um eine Zusammensetzung eines Ausdrucks und einer Aktion handelt, die in der Pub/Sub-Pipeline ausgeführt wird.

Ein SqlRuleFilter enthält einen SQL-ähnlichen Bedingungsausdruck, der im Broker anhand der benutzerdefinierten Eigenschaften und Systemeigenschaften der eingehenden Nachrichten ausgewertet wird. Allen Systemeigenschaften (bei denen es sich um explizit in der ServiceBusMessage -Klasse aufgeführte Eigenschaften handelt) muss im Bedingungsausdruck ein Präfix enthalten sys. . Die SQL-Teilmenge implementiert Tests auf Das Vorhandensein von Eigenschaften (EXISTS), Tests auf NULL-Werte (IS NULL), logische NOT/AND/OR, relationale Operatoren, numerische Arithmetik und einfache Textmusterabgleich mit LIKE.

Beispiel: Erstellen eines SQL-Regelfilters mit SQL-Regelaktion

Im folgenden Codebeispiel wird eine Regel mithilfe eines SQL-Filters und einer SQL-Aktion erstellt. Die Regel vergleicht Nachrichten mit:

Wenn der Filter übereinstimmt, wird der "importance" Schlüssel in getApplicationProperties() mit "critical"festgelegt/aktualisiert.

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());

Zusammenfassung zum Konstruktor

Konstruktor Beschreibung
SqlRuleFilter(String sqlExpression)

Erstellt eine neue instance mit dem angegebenen SQL-Ausdruck.

Methodenzusammenfassung

Modifizierer und Typ Methode und Beschreibung
boolean equals(Object other)

Vergleicht diesen Regelfiltermit dem angegebenen Objekt.

Map<String,Object> getParameters()

Ruft den Wert eines Filterausdrucks ab.

String getSqlExpression()

Ruft den SQL-Ausdruck ab.

int hashCode()

Gibt einen Hashcode für diesen Sql-Regelfilterzurück, bei dem es sich um den Hashcode für den Sql-Ausdruckhandelt.

String toString()

Konvertiert den Wert des aktuellen instance in die entsprechende Zeichenfolgendarstellung.

Geerbte Methoden von java.lang.Object

Details zum Konstruktor

SqlRuleFilter

public SqlRuleFilter(String sqlExpression)

Erstellt eine neue instance mit dem angegebenen SQL-Ausdruck.

Parameters:

sqlExpression - SQL-Ausdruck für den Filter.

Details zur Methode

equals

public boolean equals(Object other)

Vergleicht diesen RuleFilter mit dem angegebenen Objekt. Das Ergebnis ist true, wenn und nur, wenn das Argument nicht NULL ist und ein SqlRuleFilter-Objekt ist, das dieselben Parameter wie dieses Objekt aufweist.

Overrides:

SqlRuleFilter.equals(Object other)

Parameters:

other -
  • das Objekt, mit dem der aktuelle SqlRuleFilter verglichen werden soll.

Returns:

True, wenn das übergebene Objekt ein SqlRuleFilter mit den gleichen Parameterwerten ist, andernfalls False.

getParameters

public Map getParameters()

Ruft den Wert eines Filterausdrucks ab. Zulässige Typen: string, int, long, bool, double

Returns:

Ruft den Wert eines Filterausdrucks ab.

getSqlExpression

public String getSqlExpression()

Ruft den SQL-Ausdruck ab.

Returns:

Der SQL-Ausdruck.

hashCode

public int hashCode()

Gibt einen Hashcode für diesen SqlRuleFilter zurück, bei dem es sich um den Hashcode für sqlExpression handelt.

Overrides:

SqlRuleFilter.hashCode()

Returns:

ein Hashcodewert für dieses Objekt.

toString

public String toString()

Konvertiert den Wert des aktuellen instance in die entsprechende Zeichenfolgendarstellung.

Overrides:

SqlRuleFilter.toString()

Returns:

Eine Zeichenfolgenentsprechung der aktuellen Instanz.

Gilt für: