Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.
Las políticas no se ejecutan hasta que se adjuntan a un flujo. Para crear un adjunto de política, nombra una política en la configuración de un paso.
La elección del punto de adjunción es fundamental para el comportamiento del proxy de API. Por ejemplo, si adjuntas la política de cuotas a un flujo de respuesta, la cuota se aplicará después de que el mensaje de solicitud se haya enviado al servicio de backend. Esto anularía el propósito de aplicar una política de cuotas. Por lo tanto, debes adjuntar la política de cuotas como un paso de procesamiento en el flujo de la solicitud.
El formato de un adjunto de política es el siguiente:
<Step> <Name>{policy_name}</Name> </Step>
Por ejemplo:
<Step> <Name>QuotaPolicy</Name> </Step>
Una política se adjunta a un flujo mediante la adición de la configuración del paso al elemento del flujo de solicitud o de respuesta apropiado en una configuración de ProxyEndpoint o TargetEndpoint.
Puedes adjuntar una política a un flujo de solicitud o respuesta. Los flujos de solicitud y respuesta se subdividen en flujo previo y posterior.
En el ejemplo siguiente, se muestra la configuración mínima de ProxyEndpoint, sin adjuntos de política. Solo se define HTTPProxyConnection (de entrada) y una RouteRule.
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/weather</BasePath> <VirtualHost>default</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
Debes modificar esta configuración para que el ProxyEndpoint aplique una política de cuotas (como un paso de procesamiento) antes de que el proxy de API realice cualquier otro procesamiento. Si un desarrollador superó una cuota, no querrás desperdiciar ningún recurso de procesamiento en las solicitudes adicionales.
Para aplicar esta configuración, debes adjuntar un paso de procesamiento al flujo previo de la solicitud de la siguiente manera:
<ProxyEndpoint name="default"> <PreFlow> <Request> <Step><Name>QuotaPolicy</Name></Step> </Request> </PreFlow> <HTTPProxyConnection> <BasePath>/weather</BasePath> <VirtualHost>default</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
A veces, es posible que desees que una política se ejecute después de otro procesamiento inicial en el ProxyEndpoint. Por ejemplo, si deseas verificar la cuota en el flujo previo, realiza otro conjunto de acciones de procesamiento después de verificar la cuota, como convertir la solicitud de JSON a XML. Para hacerlo, adjunta una política a la ruta de solicitud del flujo posterior. El siguiente es un adjunto de flujo posterior de solicitud de muestra. Esta política se ejecutará en el mensaje de solicitud después de que se ejecuten todas las políticas del flujo previo (y de cualquier flujo condicional).
<PostFlow> <Request> <Step><Name>JSONtoXMLPolicy</Name></Step> </Request> </PostFlow>
El siguiente es un adjunto de flujo posterior de respuesta de muestra. Esta política se ejecutará en el mensaje de respuesta. (El flujo posterior de respuesta de ProxyEndpoint es la fase de procesamiento final antes de que se muestre la respuesta a la aplicación cliente solicitante).
<PostFlow> <Response> <Step><Name>XMLtoJSONPolicy</Name></Step> </Response> </PostFlow>