Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'Apigee Edge.
L'ajout de fonctionnalités basées sur des stratégies à un proxy d'API s'effectue en deux étapes :
- Configurer une instance d'un type de stratégie.
- Associer l'instance de stratégie à un flux.
Le diagramme ci-dessous montre la relation entre les stratégies et les flux. Comme vous pouvez le constater, une stratégie est associée à un flux en tant qu'étape de traitement. Pour configurer le comportement souhaité pour votre API, vous devez comprendre un peu les flux (cet article a été abordé plus tôt dans la section Configurer des flux).
La stratégie SpikeArrest est un type de stratégie couramment utilisé. SpikeArrest évite une augmentation soudaine du trafic de messages qui pourrait saturer vos services de backend.
Associer une règle à un flux
Nouvel éditeur de proxys
Pour associer une stratégie à un flux, procédez comme suit :
- Sélectionnez un proxy d'API et accédez à la vue Développer.
- Dans le volet de gauche, cliquez sur le bouton + de la ligne 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 le nom à afficher et le nom de la règle.
Lorsque vous avez terminé, cliquez sur Créer pour créer la règle.
- Maintenant que vous avez créé la règle Spike Arrest, vous pouvez l'ajouter à une étape dans le PreFlow. Pour ce faire, sélectionnez Points de terminaison du proxy > Par défaut > PreFlow dans le volet de gauche :
- Cliquez sur le bouton + à côté de PreFlow dans le volet PreFlow 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 :
Le code XML suivant pour le proxy s'affiche dans l'éditeur de texte :
<ProxyEndpoint name="default"> <PreFlow name="PreFlow"> <Request/> <Response> <Step>< <Name>SA-</Name> </Step> </Response> </PreFlow> <Flows/> <PostFlow name="PostFlow"> <Request/> <Response/> </PostFlow> <HTTPProxyConnection> <BasePath>/myproxy</BasePath> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
Detaching policies from a flow
To detach a policy from a flow, click the three-dot menu next to the flow and select Delete policy step
Classic Proxy Editor
To attach a policy to a flow:
- Select an API proxy and navigate to the Develop view.
- In the API Proxy Editor, select the flow to which you want to attach a policy in the
Navigator pane.
For example, the PreFlow flow is selected for the default API proxy endpoint in the following figure:
- In the Design view, click +Step associated with the request or response
flow to attach a policy. For example:
The Add Step dialog opens displaying a categorized list of policies.
- Scroll and select the policy type that you want to attach to the selected flow.
- Modify the following fields.
-
Display Name: Unique display name for the policy. The UI will generate a default name, but it is advisable to create a descriptive name for the policy. This will ensure that other developers in your organization have an easy time understanding what the policy is intended to do.
-
Name: Unique name for the policy. The policy name matches the display name with the following exceptions:
-
Spaces are replaced by dashes.
-
Consecutive dashes are replaced by a single dash.
-
Except for dashes, underscores, and spaces (which are replaced, as noted above), characters that are not alphanumeric, such as pound signs, percent signs, ampersands, and so on, are removed.
-
-
- Click Add.
The policy is attached to the selected flow.
After the policy is attached, you’ll see the policy displayed in the Designer view for the flow, in this example the PreFlow of the default proxy endpoint, and in the Policies list in the Navigation pane. The Code view, which displays the XML for the newly attached policy, displays below the Designer view. Apigee generates an instance of the policy that contains a set of reasonable default values.
Adding a policy without attaching it to a flow
To add a policy without attaching it to a flow, which is useful for Handling faults, click + in the Policies bar in the Navigator view to open the Add Policy dialog and add the policy (as described in steps 4 through 6 in the previous section).
A policy that is not attached to any flow is flagged with the detached icon in the Policies list, as shown adjacent to the API key message policy shown in the previous figure.
After you create the policy, you can attach it to a flow by dragging and dropping it from the Policies list to the desired flow in the Designer view.
Detaching policies from a flow
To detach a policy from a Flow, select the Flow. Mouse over the icon for the policy in the Designer view of the Flow. Click the X in the circle that appears in the icon.
Deleting a policy instance
To delete a policy instance, mouse over the entry for the policy in the Navigator view. Click the X in the circle that appears to the right of the entry.
Configuring policies in the UI
When the UI generates a policy instance, it applies reasonable default values for common settings. You may need to modify these settings to meet your requirements.
For example:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SpikeArrest async="false" continueOnError="false" enabled="true" name="spikearrest-1"> <DisplayName>SpikeArrest-1</DisplayName> <FaultRules/> <Properties/> <Identifier ref="request.header.some-header-name"/> <MessageWeight ref="request.header.weight"/> <Rate>30ps</Rate> </SpikeArrest>
Vous pouvez configurer une stratégie en modifiant directement sa configuration XML dans la vue Code. Par exemple, le taux de messages maximal pour la stratégie Spike Arrest est initialement défini sur 30 messages par seconde. Vous pouvez modifier le taux maximal en modifiant la valeur de l'élément <Rate
> dans le XML de la stratégie. Pour en savoir plus sur la configuration des règles, consultez la documentation de référence sur les règles.
Vous pouvez également couper et coller des stratégies dans la vue Code. Cela vous permet de réutiliser les stratégies à partir des exemples disponibles sur GitHub.
Lorsque vous modifiez une définition de stratégie dans la vue Code, les modifications se reflètent dans l'éditeur de propriétés. L'inverse est également vrai. Si vous apportez les modifications dans l'éditeur de propriétés, elles s'affichent dans le fichier XML de la vue Code.
Pour en savoir plus sur les stratégies relatives aux quotas utilisées dans cette rubrique, consultez la page Stratégies relatives aux quotas.
Utiliser l'explication du code Gemini Code Assist avec les règles
Si vous disposez de l'outil Gemini Code Assist, vous pouvez l'utiliser pour comprendre les règles et les éléments des règles directement dans l'interface utilisateur Apigee de la console Cloud :
- Lorsque vous modifiez la règle dans la vue Code, mettez en surbrillance une partie du code de la règle, par exemple un élément ou un attribut XML. Vous pouvez également mettre plusieurs éléments en surbrillance.
- Cliquez sur l'icône Gemini Code Assist, comme illustré ci-dessous. Le panneau latéral affiche des informations sur la règle et l'élément que vous avez mis en surbrillance.