Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
Añadir funciones basadas en políticas a un proxy de API es un proceso que consta de dos pasos:
- Configura una instancia de un tipo de política.
- Adjunta la instancia de la política a un flujo.
En el diagrama siguiente se muestra la relación entre las políticas y los flujos. Como puedes ver, una política se adjunta a un flujo como un paso de procesamiento. Para configurar el comportamiento que quieras en tu API, debes conocer un poco los flujos. (Este tema se ha tratado anteriormente en la sección Configurar flujos).
Un tipo de política que se usa con frecuencia es la política SpikeArrest. SpikeArrest evita los aumentos repentinos del tráfico de mensajes que podrían sobrecargar tus servicios de backend.
Vincular una política a un flujo
Apigee en la consola de Cloud
Para adjuntar una política a un flujo, sigue estos pasos:
- Selecciona un proxy de API y ve a la vista Desarrollar.
- En el panel de la izquierda, haga clic en el botón + de la fila Políticas.
En el cuadro de diálogo Crear política, haz clic en el campo Seleccionar tipo de política y desplázate hacia abajo hasta Gestión del tráfico y selecciona SpikeArrest.
También puedes cambiar el Nombre visible y el Nombre de la política.
Cuando hayas terminado, haz clic en Crear para crear la política.
- Ahora que has creado la política Spike Arrest, puedes adjuntarla a un paso del PreFlow. Para ello, selecciona Proxy Endpoints > default > PreFlow (Endpoints de proxy > predeterminado > PreFlow) en el panel de la izquierda:
- En el panel Respuesta, situado en la parte inferior derecha del editor visual, haz clic en el botón + situado junto a PreFlow:
- En el cuadro de diálogo Añadir política, selecciona la política Retención de picos.
Haga clic en Añadir para adjuntar la política.
La política Retención de picos se muestra ahora en el panel Respuesta:
El siguiente código XML del proxy se muestra en el editor de texto:
<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 UI
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>
Puedes configurar una política editando directamente su configuración XML en la vista Código. Por ejemplo, la tasa máxima de mensajes de la política Spike Arrest se establece inicialmente en 30 mensajes por segundo. Para cambiar la tasa máxima, modifique el valor del elemento <Rate
> del XML de la política. Para obtener más información sobre cómo configurar políticas, consulta la referencia de políticas.
También puede cortar y pegar políticas en la vista Código. Es una forma estupenda de reutilizar políticas de las muestras disponibles en GitHub.
Cuando haces cambios en una definición de política en la vista Código, los cambios se reflejan en el Inspector de propiedades. También ocurre lo contrario: si haces cambios en el Inspector de propiedades, estos se reflejarán en el XML de la vista Código.
Para consultar la documentación específica de la política de cuotas que se usa en este tema, consulta Política de cuotas.
Usar la función de explicación de código de Gemini Code Assist con políticas
Si tienes Gemini Code Assist, puedes usarlo para entender las políticas y los elementos de las políticas directamente en la interfaz de Apigee en la consola de Cloud.
Para usar la función de explicación de código de Gemini Code Assist con políticas, sigue estos pasos:
- Mientras editas la política en la vista Código, destaca una parte del código de la política, como un elemento o un atributo XML. También puedes destacar varios elementos.
- Haz clic en el icono de Gemini Code Assist, como se muestra a continuación. En el panel lateral se muestra información sobre la política y el elemento que has destacado. .