Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

Richtlinienerweiterungen

Mit der Funktion zur Richtlinienerweiterung können Sie Erweiterungsfunktionen für integrierte Richtlinientypen schreiben. Die Erweiterungen können in Richtlinienausdrücken verwendet werden, genau wie integrierte Funktionen. Sie werden ausgeführt, wenn die entsprechenden Richtlinienausdrücke ausgewertet werden. Diese Funktion ist nützlich für:

  • Hinzufügen benutzerdefinierter Funktionen zu bestehenden Richtlinien.
  • Implementierung logischer Konstrukte für komplexe Kundenanforderungen.

Die Funktion zur Richtlinienerweiterung behebt diese Einschränkungen, indem sie es Benutzern ermöglicht, Erweiterungsfunktionen für integrierte Richtlinientypen zu schreiben. Die Erweiterungen können dann in den Richtlinienausdrücken verwendet werden, genau wie integrierte Funktionen. Sie werden ausgeführt, wenn die entsprechenden Richtlinienausdrücke ausgewertet werden.

In der folgenden Tabelle sind die Richtlinientypen aufgeführt, die beim Schreiben einer Erweiterung verwendet werden können, sowie die zugehörigen Zuordnungen.

Richtlinientyp Zugeordneter Richtlinientyp Ausgabe
TEXT_T NSTEXT Zeichenfolge
BOOL_AT NSBOOL Boolesch
NUM_AT NSNUM Zahl (Gleitkommazahl mit doppelter Genauigkeit)
DOUBLE_AT NSDOUBLE Zahl (Gleitkommazahl mit doppelter Genauigkeit)

Voraussetzungen für die Verwendung von Richtlinienerweiterungen

Die importierten Funktionen müssen den bestehenden Richtlinienstandards entsprechen. Deshalb:

  • Der Funktionsname muss mit einem Buchstaben beginnen und kann Zahlen oder Unterstriche enthalten.
  • Der Funktionsname wird in den NetScaler-Richtlinien so behandelt, dass Groß- und Kleinschreibung nicht berücksichtigt wird.
  • Die Funktion muss einen einzelnen Wert zurückgeben, auch wenn die Erweiterungssprache mehrere Werte zurückgibt.
  • Funktionen mit einer variablen Anzahl von Argumenten werden nicht unterstützt.

Wie funktionieren Policenerweiterungen?

Die vorhandenen Richtlinien auf einer NetScaler-Appliance verwenden einen Interpreter, um die Funktionen auszuwerten, die in eine Richtlinienerweiterungsdatei importiert werden. Wenn ein Benutzer eine neue Funktion in eine Richtlinienerweiterungsdatei importiert:

  1. Die Erweiterungsdatei wird auf Syntax und andere Bedingungen überprüft.
  2. Schlägt die Validierung fehl, wird der Fehler dem Benutzer gemeldet.
  3. Wenn die Überprüfung erfolgreich ist, wird die Erweiterungsdatei in die NetScaler-Appliance importiert und ihr Inhalt kann wie jede integrierte Richtlinienfunktion in Richtlinienausdrücken verwendet werden.
    1. Wenn die Auswertung des Richtlinienausdrucks während der Laufzeit einen Fehler zurückgibt, wird dieser als Undef-Ereignis gemeldet und der zugehörige Fehlerzähler wird erhöht.

      Hinweis: Wenn ein Policy-Undef-Ereignis eintritt und die Richtlinienregel eine oder mehrere Funktionen zur Richtlinienerweiterung enthält, zeigt der show ns extension <name> Befehl die untergeordneten Treffer an, wenn er auf diese Richtlinienerweiterungen angewendet wird. Wenn die Erweiterungsfunktion abgebrochen wird, wird der Wert des Abbruchzählers erhöht.

    2. Wenn die Bewertung des Richtlinienausdrucks erfolgreich ist, wird die Ausdrucksauswertung fortgesetzt, bis der gesamte Ausdruck ausgewertet ist oder bis sie aufgrund eines Fehlers abgebrochen wird.

Wenn die Ausführung der Erweiterungsfunktion zu lange dauert, wird sie abgebrochen und der Fehlerzähler für diese Erweiterungsfunktion wird erhöht. Die Erweiterungsfunktion ist in einer Sandbox ausgeführt, wodurch Folgendes verhindert wird:

  • Übermäßige CPU-Auslastung auf der NetScaler-Appliance.
  • Übermäßiger Speicherverbrauch auf der NetScaler-Appliance.
  • Verwendung schädlicher integrierter Bibliotheken oder Bibliotheken oder Binärdateien von Drittanbietern.
  • Langfristige Skripts, die möglicherweise einen Neustart der NetScaler Appliance verursachen könnten.
Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.
Richtlinienerweiterungen