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. Puedes crear un archivo adjunto de política dando nombre a una política en una configuración de paso.
La elección del punto de acoplamiento es fundamental para el comportamiento de tu proxy de API. Por ejemplo, si adjuntas la política Quota a un flujo de respuesta, la cuota se aplicará después de que se envíe el mensaje de solicitud al servicio de backend. De lo contrario, no tendría sentido aplicar una política de cuotas. Por lo tanto, debe adjuntar la política de cuota como paso de procesamiento en el flujo de la solicitud.
El formato de un archivo adjunto de una política es el siguiente:
<Step>
<Name>{policy_name}</Name>
</Step>Por ejemplo:
<Step>
<Name>QuotaPolicy</Name>
</Step>Una política se vincula a un flujo añadiendo la configuración de Step al elemento Flow de solicitud o respuesta adecuado en una configuración de ProxyEndpoint o TargetEndpoint.
Puedes adjuntar una política a un flujo de solicitudes o de respuestas. Los flujos de solicitud y respuesta se dividen en PreFlow y PostFlow.
En el siguiente ejemplo se muestra la configuración mínima de ProxyEndpoint, sin archivos adjuntos de políticas. Simplemente define la 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 ProxyEndpoint aplique una política de cuota (como paso de procesamiento) antes de que el proxy de API realice cualquier otro procesamiento. Si un desarrollador ha superado una cuota, no querrá desperdiciar recursos computacionales en solicitudes adicionales.
Para aplicar esta configuración, adjunta un paso de procesamiento al PreFlow 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>En ocasiones, puede que quieras que una política se ejecute después de algún otro procesamiento inicial en el ProxyEndpoint. Por ejemplo, quieres comprobar la cuota en PreFlow y, después, realizar otro conjunto de procesos tras comprobar la cuota, como convertir la solicitud de JSON a XML. Para ello, adjunta una política a la ruta de solicitud PostFlow. A continuación, se muestra una solicitud de ejemplo de archivo adjunto PostFlow. Esta política se ejecutaría en el mensaje de solicitud después de que se ejecuten todas las políticas de PreFlow (y cualquier flujo condicional).
<PostFlow>
<Request>
<Step><Name>JSONtoXMLPolicy</Name></Step>
</Request>
</PostFlow>A continuación se muestra un ejemplo de archivo adjunto de PostFlow. Esta política se ejecutaría en el mensaje de respuesta. (El PostFlow de la respuesta ProxyEndpoint es la fase de procesamiento final antes de que la respuesta se devuelva a la aplicación cliente que ha enviado la solicitud).
<PostFlow>
<Response>
<Step><Name>XMLtoJSONPolicy</Name></Step>
</Response>
</PostFlow>