Associer et configurer des règles dans des fichiers XML

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

Vous pouvez créer et modifier des règles localement à l'aide de l'IDE ou l'éditeur de texte ou de fichiers XML de votre choix. Cet article utilise le type de règle de quota comme exemple pour créer, configurer, associer, déployer et tester des règles.

La plupart des proxys d'API appliquent un quota. Les quotas permettent de contrôler la fréquence à laquelle une application cliente est autorisée à appeler une API au cours d'un intervalle de temps donné. Dans l'exemple ci-dessous, une règle de quota est configurée pour limiter les applications à une requête par minute (bien que cela ne soit pas toujours réaliste, cela offre un moyen simple de visualiser les effets d'une règle).

Dans une configuration de proxy d'API, les fichiers de règle sont stockés sous forme de fichiers XML dans le répertoire /apiproxy/policies.

Par exemple, une règle de type quota appelée "QuotaPolicy" peut être créée sous la forme d'un fichier nommé QuotaPolicy.xml avec le contenu suivant :

<Quota enabled="true" continueOnError="false" name="QuotaPolicy">
    <Allow count="1"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
</Quota>

Vous pouvez créer manuellement un fichier texte ou générer la règle à partir d'un schéma XML. Toutes les règles ont certains paramètres propres au type de règle, et d'autres qui sont génériques pour toutes les règles.

Lorsque vous associez des règles dans l'UI de gestion, le compilateur de proxy d'API génère l'instance de règle à partir du schéma XML du type de règle que vous avez sélectionné. Par conséquent, il se peut que la configuration des règles contienne des éléments qui, par souci de clarté, ne sont pas toujours inclus dans la documentation.

Toutes les règles définissent les attributs suivants :

  • enabled : indique si la règle est activée ou non. Vous pouvez activer ou désactiver les règles lors de l'exécution en modifiant ce paramètre. Une règle dont pour laquelle enabled est défini sur false n'est pas appliquée.
  • continueOnError : indique si le pipeline doit continuer à traiter le message en cas d'échec de la règle. Lors de l'application des règles de quota, des erreurs indiquent probablement que le quota a été dépassé. Par conséquent, cet attribut doit être défini sur "false".
  • name : le nom que vous donnez à cette règle. Ce nom est unique à cette instance de règle et permet d'associer la règle au flux en tant qu'étape de traitement.

Dans l'exemple ci-dessus, les éléments Allow, Interval et TimeUnit sont spécifiques à la règle de quota. Ces éléments fournissent des paramètres que les services d'API appliquent au nom d'une API. Les autres types de règles définissent leurs propres paramètres. Vous pouvez obtenir plus d'informations dans la documentation de référence sur les règles.