Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'Apigee Edge.
Présentation
La règle AssertCondition évalue une instruction conditionnelle au moment de l'exécution dans les flux de requêtes ou de réponses. Vous pouvez définir une condition en fonction des variables de flux et utiliser cette règle pour valider la condition. Une condition renvoie toujours une valeur booléenne, "true" ou "false". Pour en savoir plus sur l'écriture d'une instruction conditionnelle, consultez la documentation de référence sur les conditions.
Après l'évaluation de la condition, la règle AssertCondition stocke le résultat de l'évaluation dans la variable de flux assertcondition.policy-name.truthValue
.
Vous pouvez utiliser la variable de flux résultante dans vos accroches ultérieures ou votre logique orchestrée.
Si une condition renvoie la valeur "true", la valeur de la variable est définie sur true
. Sinon, elle est définie sur false
. Si vous avez défini plusieurs règles AssertCondition, policy-name
dans le nom de la variable vous permet d'identifier la variable de manière unique.
Cette règle est une règle standard qui peut être déployée sur n'importe quel type d'environnement. Pour en savoir plus sur les types de règles et la disponibilité avec chaque type d'environnement, consultez la section Types de règles.
<AssertCondition>
Définit une règle <AssertCondition>
. Cette règle vous permet d'évaluer une instruction conditionnelle comportant une ou plusieurs conditions associées par un opérateur logique. Pour plus d'informations sur tous les opérateurs compatibles dans une condition, consultez la section Opérateurs.
true
ou false
.
Valeur par défaut | N/A |
Obligatoire ? | Obligatoire |
Type | Type complexe |
Élément parent | N/A |
Éléments enfants |
<Condition> <DisplayName> |
Le tableau suivant fournit une description détaillée des éléments enfants de <AssertCondition>
:
Élément enfant | Obligatoire ? | Description |
---|---|---|
<Condition> |
Oui | Spécifie la condition à évaluer. |
<DisplayName> |
Facultatif | Nom personnalisé de la règle. |
L'élément <AssertCondition>
utilise la syntaxe suivante :
Syntaxe
<?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>
Exemple
L'exemple suivant vérifie si la variable google.dialogflow.my-prefix.claimAmount
est supérieure à 0 et inférieure à 1 000.
<?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>
Dans cet exemple :
- Si la valeur de la variable
google.dialogflow.my-prefix.claimAmount
est 500, la condition renvoie la valeur "true" et la variableassertcondition.MyAssertCondition.truthValue
est donc définie surtrue
. - Toutefois, si la valeur de la variable
google.dialogflow.my-prefix.claimAmount
est 1 200, la variableassertcondition.MyAssertCondition.truthValue
est définie surfalse
.
Cet élément possède les attributs suivants qui sont communs à toutes les règles :
Attribut | Par défaut | Obligatoire ? | Description |
---|---|---|---|
name |
ND | Obligatoire |
Nom interne de la règle. La valeur de l'attribut Vous pouvez également utiliser l'élément |
continueOnError |
faux | Facultatif | Définissez sur false pour afficher une erreur en cas d'échec d'une règle. Il s'agit du comportement attendu pour la plupart des règles. Définissez sur true pour que l'exécution du flux se poursuive même après l'échec d'une règle. Voir aussi :
|
enabled |
true | Facultatif | Définissez sur true pour appliquer la règle. Définissez sur false pour désactiver la règle. La règle ne sera pas appliquée même si elle reste associée à un flux. |
async |
faux | Obsolète | Cet attribut est obsolète. |
Référence d'élément enfant
Cette section décrit les éléments enfants de<AssertCondition>
.
<Condition>
Spécifie la condition à évaluer. Pour en savoir plus sur l'écriture d'une instruction conditionnelle dans Apigee, consultez la documentation de référence sur les conditions.
Valeur par défaut | N/A |
Obligatoire ? | Obligatoire |
Type | Chaîne |
Élément parent |
<AssertCondition>
|
Éléments enfants | Aucun |
<DisplayName>
Utilisez-le, en plus de l'attribut name
, pour appliquer un libellé à la règle dans l'éditeur de proxys de l'interface de gestion en utilisant un nom différent et plus naturel.
L'élément <DisplayName>
est commun à toutes les règles.
Valeur par défaut | N/A |
Obligatoire ? | Facultatif. Si vous omettez <DisplayName> , la valeur de l'attribut name de la règle est utilisée. |
Type | Chaîne |
Élément parent | <PolicyElement> |
Éléments enfants | Aucun |
L'élément <DisplayName>
utilise la syntaxe suivante :
Syntaxe
<PolicyElement> <DisplayName>POLICY_DISPLAY_NAME</DisplayName> ... </PolicyElement>
Exemple
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
L'élément <DisplayName>
ne comporte aucun attribut ni élément enfant.
Codes d'erreur
Cette section décrit les codes d'erreur et les messages d'erreur renvoyés et les variables d'erreur définies par Apigee lorsque cette règle déclenche une erreur. Ces informations sont importantes si vous développez des règles de défaillance afin de gérer les pannes. Pour en savoir plus, consultez les pages Ce que vous devez savoir à propos des erreurs liées aux règles et Gérer les pannes.
Erreurs d'exécution
Ces erreurs peuvent se produire lors de l'exécution de la règle.
Code d'erreur | État HTTP | Cause |
---|---|---|
steps.assertcondition.ConditionEvaluationFailed |
500 |
Échec de l'évaluation de l'instruction conditionnelle. Plusieurs raisons peuvent expliquer cette erreur, y compris des valeurs incorrectes dans les variables au moment de l'exécution. |
Erreurs de déploiement
Ces erreurs peuvent se produire lorsque vous déployez un proxy contenant cette règle.
Nom de l'erreur | Cause |
---|---|
InvalidCondition |
La règle n'a pas pu valider l'instruction conditionnelle. Plusieurs raisons peuvent expliquer cette erreur, y compris des conditions incorrectes ou l'utilisation d'opérateurs non compatibles. |
Variables de panne
Chaque fois qu'une règle comporte des erreurs d'exécution, Apigee génère des messages d'erreur. Vous pouvez afficher ces messages d'erreur dans la réponse d'erreur. Souvent, les messages d'erreur générés par le système peuvent ne pas être pertinents dans le contexte de votre produit. Vous pouvez personnaliser les messages d'erreur en fonction du type d'erreur pour rendre les messages plus significatifs.
Pour personnaliser les messages d'erreur, vous pouvez utiliser des règles d'erreur ou la règle RaiseFault. Pour en savoir plus sur les différences entre les règles d'erreur et la règle RaiseFault, consultez la section Règles d'erreur et règle RaiseFault.
Vous devez vérifier les conditions à l'aide de l'élément Condition
dans les règles d'erreur et dans la règle RaiseFault.
Apigee fournit des variables d'erreur propres à chaque règle et les valeurs des variables d'erreur sont définies lorsqu'une règle déclenche des erreurs d'exécution.
En utilisant ces variables, vous pouvez vérifier des conditions d'erreur spécifiques et prendre les mesures appropriées. Pour en savoir plus sur la vérification des conditions d'erreur, consultez la page Conditions de création.
Le tableau suivant décrit les variables d'erreur spécifiques à cette règle.
Variables | Où : | Exemple |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME est le nom de l'erreur, tel qu'indiqué dans le tableau Erreurs d'exécution. Le nom d'erreur est la dernière partie du code d'erreur. | fault.name Matches "ConditionEvaluationFailed" |
AssertCondition.POLICY_NAME.failed |
POLICY_NAME est le nom spécifié par l'utilisateur de la règle qui a provoqué l'erreur. | AssertCondition.My-AssertCondition.failed = true |