Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'
Apigee Edge.

Points abordés
Dans ce tutoriel, vous allez apprendre à effectuer les opérations suivantes :
- Ajoutez une règle qui affecte la requête et la réponse.
- Examinez les effets de la règle.
Prérequis
- Une installation Apigee. Consultez la page Présentation et conditions préalables.
- Un proxy d'API fonctionnel avec au moins une règle associée Consultez la section sur la présentation de la création de votre premier proxy d'API.
- Un client API HTTP installé sur votre machine pour effectuer des appels d'API Les exemples du tutoriel utilisent
curl.
Ajouter la règle SpikeArrest
Dans ce tutoriel, vous ajouterez et configurer la règle SpikeArrest pour protéger le service cible contre les pics de trafic soudains pouvant être causés par une augmentation de l'utilisation, des bugs clients ou des attaques malveillantes. Lorsque le nombre de requêtes dépasse la limitation du débit, l'API renvoie une erreur HTTP 429.
Ajoutez la règle SpikeArrest à un proxy d'API :
Dans la console Google Cloud , accédez à la page Apigee > Développement de proxys > Proxys d'API.
Si vous avez suivi le tutoriel de démarrage, vous pouvez l'ajouter au proxy d'API que vous avez créé à la section Créer un proxy d'API.
- Cliquez sur l'onglet Développer :
- Dans le volet de gauche, cliquez sur le bouton + de la ligne Policies (Règles).
Dans la boîte de dialogue Créer une règle, cliquez dans le champ Sélectionner un type de règle et faites défiler la page jusqu'à Gestion du trafic, puis sélectionnez SpikeArrest.
Vous pouvez éventuellement modifier les champs Name (Nom) et Display name (Nom à afficher) de la règle. Par défaut, Apigee fournit un préfixe court pour le nom de la règle (SA- dans le cas présent). Vous pouvez ajouter une séquence de mots descriptifs, séparés par des tirets, après le préfixe. Consultez les conventions d'attribution de noms.

Lorsque vous avez terminé, cliquez sur Create (Créer) pour créer la règle.
Maintenant que vous avez créé la règle SpikeArrest, vous pouvez l'ajouter à une étape dans le PreFlow.
- Sélectionnez Proxy Endpoints > default > PreFlow (Points de terminaison du proxy > Par défaut > PreFlow) dans le volet de gauche :

Remarque : Vous devrez peut-être développer l'éditeur visuel dans le volet de droite pour afficher tous les éléments. Pour ce faire, cliquez sur le séparateur et faites-le glisser entre l'éditeur visuel et l'éditeur de texte.
- Cliquez sur le bouton + à côté de PreFlow dans le volet Réponse en bas à droite de l'éditeur visuel :

- Dans la boîte de dialogue Ajouter une règle, sélectionnez la règle Spike Arrest.
Cliquez sur Ajouter pour associer la règle.
La règle Spike Arrest s'affiche désormais dans le volet Réponse :

Maintenant que vous avez associé la règle Spike Arrest au PreFlow, vous pouvez essayer de modifier le code de la règle :
Dans le volet Response, sélectionnez SA-.

- L'éditeur de texte affiche le code XML du proxy, y compris l'étape de la règle SpikeArrest dans l'élément Response du flux PreFlow.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SpikeArrest continueOnError="false" enabled="true" name="SA-"> <DisplayName>SA-</DisplayName> <Properties/> <Identifier ref="request.header.some-header-name"/> <MessageWeight ref="request.header.weight"/> <Rate>30ps</Rate> </SpikeArrest> -
Dans le fichier XML de la règle, remplacez la valeur de l'élément
<Rate>par1pm(ce qui signifie qu'environ deux requêtes sont autorisées toutes les 60 secondes dans le cloud).Vous pouvez spécifier la fréquence sous forme de valeur entière par minute (
pm) ou par seconde (ps). Il s'agit d'une limite très faible, utilisée uniquement dans ce tutoriel pour illustrer la règle. En règle générale, vous le définissez sur une limite beaucoup plus élevée.Notez que la valeur
Ratedans l'inspecteur de propriétés passe également à1pm. Vous pouvez également modifier la valeur Rate dans l'inspecteur de propriétés. Cela sera reflété dans la vue XML. - Cliquez sur Save (Enregistrer) pour enregistrer vos modifications dans la révision actuelle.