Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Политики не выполняются, пока они не прикреплены к потоку. Вы можете создать вложение политики, назвав политику в конфигурации шага.
Выбор точки подключения имеет решающее значение для поведения вашего прокси-сервера API. Например, если вы прикрепите политику квот к потоку ответа, то квота будет применена после отправки сообщения запроса во внутреннюю службу. Это противоречит цели применения политики квот! Поэтому вам необходимо прикрепить политику квот в качестве этапа обработки в потоке запросов.
Формат приложения к политике:
<Step> <Name>{policy_name}</Name> </Step>
Например:
<Step> <Name>QuotaPolicy</Name> </Step>
Политика присоединяется к потоку путем добавления конфигурации Step к соответствующему элементу потока запроса или ответа в конфигурации ProxyEndpoint или TargetEndpoint.
Вы можете прикрепить политику к потоку запросов или ответов. Потоки запросов и ответов подразделяются на PreFlow и PostFlow.
В следующем примере показана минимальная конфигурация ProxyEndpoint без вложений политики. Он просто определяет (входящее) HTTPProxyConnection и RouteRule.
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/weather</BasePath> <VirtualHost>default</VirtualHost> </HTTPProxyConnection> <RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule> </ProxyEndpoint>
Вы должны изменить эту конфигурацию, чтобы ProxyEndpoint применял политику квот (в качестве шага обработки) до того, как прокси-сервер API выполнит любую другую обработку. Если разработчик превысил квоту, вы не хотите тратить вычислительные ресурсы на дополнительные запросы.
Чтобы обеспечить соблюдение этой конфигурации, вы прикрепляете шаг обработки к запросу PreFlow следующим образом:
<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>
Иногда вам может потребоваться, чтобы политика выполнялась после некоторой другой начальной обработки на ProxyEndpoint. Например, вы хотите проверить квоту в PreFlow, а затем выполнить другой набор обработки после проверки квоты, например преобразование запроса из JSON в XML. Для этого прикрепите политику к пути запроса PostFlow. Ниже приведен пример вложения запроса PostFlow. Эта политика будет выполняться в сообщении запроса после выполнения всех политик в PreFlow (и любых условных потоках).
<PostFlow> <Request> <Step><Name>JSONtoXMLPolicy</Name></Step> </Request> </PostFlow>
Ниже приведен пример вложения PostFlow ответа. Эта политика будет выполняться в ответном сообщении. (Ответ ProxyEndpoint PostFlow — это заключительный этап обработки перед возвратом ответа запрашивающему клиентскому приложению.)
<PostFlow> <Response> <Step><Name>XMLtoJSONPolicy</Name></Step> </Response> </PostFlow>