AssertCondition-Richtlinie

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Richtliniensymbol

Übersicht

Die AssertCondition-Richtlinie wertet zur Laufzeit eine bedingte Anweisung in den Anfrage- oder Antwortabläufen aus. Sie können eine Bedingung anhand der Ablaufvariablen definieren und sie mit dieser Richtlinie festlegen. Eine Bedingung wird immer als boolescher Wert ausgewertet, entweder als wahr (true) oder falsch (false). Weitere Informationen zum Schreiben einer bedingten Anweisung finden Sie in der Referenz für Bedingungen.

Nach Auswertung der Bedingung speichert die AssertCondition-Richtlinie das Ergebnis der Auswertung in der Ablaufvariable assertcondition.policy-name.truthValue. Sie können die sich daraus ergebende Ablaufvariable in Ihren nachfolgenden Callouts oder in der orchestrierten Logik verwenden. Wird eine Bedingung als wahr ausgewertet, wird für den Wert der Variablen true festgelegt, andernfalls false. Wenn Sie mehrere AssertCondition-Richtlinien definiert haben, können Sie die Variable anhand des policy-name im Variablennamen eindeutig ermitteln.

Diese Richtlinie ist eine Standardrichtlinie und kann in jedem Umgebungstyp bereitgestellt werden. Nicht alle Nutzer müssen Richtlinien- und Umgebungstypen kennen. Informationen zu Richtlinientypen und zur Verfügbarkeit bei jedem Umgebungstyp finden Sie unter Richtlinientypen.

<AssertCondition>

Definiert eine <AssertCondition>-Richtlinie. Mit dieser Richtlinie können Sie eine bedingte Anweisung auswerten, die eine Bedingung oder mehrere Bedingungen enthält, die durch einen logischen Operator verknüpft sind. Informationen zu allen für eine Bedingung unterstützten Operatoren finden Sie unter Operatoren.

Das Ergebnis einer bedingten Anweisung ist ein boolescher Wert, der entweder true oder false sein kann.
Standardwert
Erforderlich? Erforderlich
Typ Komplexer Typ
Übergeordnetes Element
Untergeordnete Elemente <Condition>
<DisplayName>

Die folgende Tabelle enthält eine allgemeine Beschreibung der untergeordneten Elemente von <AssertCondition>:

Untergeordnetes Element Erforderlich? Beschreibung
<Condition> Ja Legt die Bedingung fest, die ausgewertet werden soll.
<DisplayName> Optional Ein benutzerdefinierter Name für die Richtlinie.

Das <AssertCondition>-Element verwendet die folgende Syntax:

Syntax

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssertCondition">
    <!-- Display name for this policy -->
    <DisplayName>DISPLAY_NAME</DisplayName>
    <!-- Assertion's condition where operators are defined -->
    <Condition>CONDITIONAL_STATEMENT</Condition>
</AssertCondition>

Beispiel

Im folgenden Beispiel wird geprüft, ob die Variable google.dialogflow.my-prefix.claimAmount größer als 0 und kleiner als 1.000 ist.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssertCondition continueOnError="false" enabled="true"
        name="MyAssertCondition">
    <DisplayName>Assert My Condition</DisplayName>
    <Condition>(google.dialogflow.my-prefix.claimAmount > 0)
                and
               (google.dialogflow.my-prefix.claimAmount LesserThan 1000)</Condition>
</AssertCondition>

In diesem Beispiel:

  • Wenn der Wert der google.dialogflow.my-prefix.claimAmount-Variablen 500 ist, wird die Bedingung als wahr ausgewertet und die Variable assertcondition.MyAssertCondition.truthValue auf true gesetzt.
  • Wenn der Wert der Variablen google.dialogflow.my-prefix.claimAmount aber 1.200 ist, wird die Variable assertcondition.MyAssertCondition.truthValue auf false gesetzt.

Dieses Element hat folgende Attribute, die allen Richtlinien gemeinsam sind:

Attribut Standard Erforderlich? Beschreibung
name - Erforderlich

Der interne Name der Richtlinie. Der Wert des Attributs name kann Buchstaben, Ziffern, Leerzeichen, Bindestriche, Unterstriche und Punkte enthalten. Dieser Wert darf 255 Zeichen nicht überschreiten.

Optional können Sie das Element <DisplayName> verwenden, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.

continueOnError false Optional Legen Sie false fest, um einen Fehler zurückzugeben, wenn eine Richtlinie fehlschlägt. Dies ist für die meisten Richtlinien das erwartete Verhalten. Legen Sie true fest, damit die Ablaufausführung auch nach dem Fehlschlagen einer Richtlinie fortgesetzt wird. Weitere Informationen:
enabled wahr Optional Setzen Sie den Wert auf true, um die Richtlinie zu erzwingen. Legen Sie false fest, um die Richtlinie zu deaktivieren. Die Richtlinie wird nicht durchgesetzt, selbst wenn sie mit einem Ablauf verknüpft ist.
async   false Verworfen Dieses Attribut wurde verworfen.

Verweis auf untergeordnetes Element

In diesem Abschnitt werden die untergeordneten Elemente von <AssertCondition> beschrieben.

<Condition>

Legt die Bedingung fest, die ausgewertet werden soll. Weitere Informationen zum Schreiben einer bedingten Anweisung in Apigee finden Sie in der Referenz für Bedingungen.

Standardwert
Erforderlich? Erforderlich
Typ String
Übergeordnetes Element <AssertCondition>
Untergeordnete Elemente

<DisplayName>

Wird zusätzlich zum Attribut name verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen, natürlicher klingenden Namen zu versehen.

Das Element <DisplayName> ist für alle Richtlinien gleich.

Standardwert
Erforderlich? Optional. Wenn Sie <DisplayName> weglassen, wird der Wert des Attributs name der Richtlinie verwendet.
Typ String
Übergeordnetes Element <PolicyElement>
Untergeordnete Elemente

Das <DisplayName>-Element verwendet die folgende Syntax:

Syntax

<PolicyElement>
  <DisplayName>POLICY_DISPLAY_NAME</DisplayName>
  ...
</PolicyElement>

Beispiel

<PolicyElement>
  <DisplayName>My Validation Policy</DisplayName>
</PolicyElement>

Das <DisplayName>-Element hat keine Attribute oder untergeordneten Elemente.

Fehlercodes

In diesem Abschnitt werden die zurückgegebenen Fehlercodes und Fehlermeldungen beschrieben, die von Apigee festgelegt werden, wenn die Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.

Laufzeitfehler

Diese Fehler können bei Ausführung der Richtlinie auftreten.

Fehlercode HTTP-Status Ursache
steps.assertcondition.ConditionEvaluationFailed 500 Die bedingte Anweisung konnte nicht ausgewertet werden. Dieser Fehler kann viele Gründe haben, einschließlich falscher Werte in den Variablen zur Laufzeit.

Bereitstellungsfehler

Diese Fehler können auftreten, wenn Sie einen Proxy mit dieser Richtlinie bereitstellen.

Fehlername Ursache
InvalidCondition Die Richtlinie konnte die bedingte Anweisung nicht validieren. Dieser Fehler kann viele Gründe haben, z. B. fehlerhafte Bedingungen oder die Verwendung nicht unterstützter Operatoren.

Fehlervariablen

Wenn in einer Richtlinie Ausführungsfehler auftreten, generiert Apigee Fehlermeldungen. Sie können sich diese Fehlermeldungen in der Fehlerantwort ansehen. Häufig sind vom System generierte Fehlermeldungen im Kontext Ihres Produkts möglicherweise nicht relevant. Sie können die Fehlermeldungen basierend auf dem Fehlertyp anpassen, um die Nachrichten aussagekräftiger zu machen.

Zum Anpassen der Fehlermeldungen können Sie entweder Fehlerregeln oder die RaiseFault-Richtlinie verwenden. Informationen zu Unterschieden zwischen Fehlerregeln und der RaiseFault-Richtlinie finden Sie unter FaultRules-Richtlinie im Vergleich zur RaiseFault-Richtlinie. Prüfen Sie, ob Bedingungen mit dem Element Condition in den Fehlerregeln und in der RaiseFault-Richtlinie verwendet werden. Apigee stellt Fehlervariablen bereit, die für jede Richtlinie eindeutig sind. Die Werte der Fehlervariablen werden festgelegt, wenn eine Richtlinie Laufzeitfehler auslöst. Mit diesen Variablen können Sie nach bestimmten Fehlerbedingungen suchen und entsprechende Maßnahmen ergreifen. Weitere Informationen zum Prüfen von Fehlerbedingungen finden Sie unter Bedingungen erstellen.

In der folgenden Tabelle werden die für diese Richtlinie spezifischen Fehlervariablen beschrieben.

Variablen Wo Beispiel
fault.name="FAULT_NAME" FAULT_NAME ist der Name des Fehlers, wie er in der Tabelle der Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. fault.name Matches "ConditionEvaluationFailed"
AssertCondition.POLICY_NAME.failed POLICY_NAME ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. AssertCondition.My-AssertCondition.failed = true
Weitere Informationen zu Richtlinienfehlern finden Sie unter Was Sie über Richtlinienfehler wissen müssen.