Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Le policy non vengono eseguite finché non vengono collegate a un flusso. Puoi creare un collegamento di policy assegnando un nome a una policy in una configurazione di passaggio.
La scelta del punto di collegamento è fondamentale per il comportamento del proxy API. Ad esempio, se colleghi la policy Quota a un flusso di risposta, la quota verrà applicata dopo l' invio del messaggio di richiesta al servizio di backend. In questo modo, lo scopo dell'applicazione di una policy Quota non verrebbe raggiunto. Pertanto, devi collegare la policy Quota come passaggio di elaborazione nel flusso di richiesta Flusso.
Il formato di un collegamento di policy è il seguente:
<Step>
<Name>{policy_name}</Name>
</Step>Ad esempio:
<Step>
<Name>QuotaPolicy</Name>
</Step>Una policy viene collegata a un flusso aggiungendo la configurazione del passaggio all'elemento del flusso di richiesta o risposta appropriato in una configurazione ProxyEndpoint o TargetEndpoint.
Puoi collegare una policy a un flusso di richiesta o risposta. I flussi di richiesta e risposta sono ulteriormente suddivisi in PreFlow e PostFlow.
L'esempio seguente mostra la configurazione ProxyEndpoint minima, senza collegamenti di policy allegati. Definisce semplicemente HTTPProxyConnection (in entrata) e una RouteRule.
<ProxyEndpoint name="default">
<HTTPProxyConnection>
<BasePath>/weather</BasePath>
<VirtualHost>default</VirtualHost>
</HTTPProxyConnection>
<RouteRule name="default">
<TargetEndpoint>default</TargetEndpoint>
</RouteRule>
</ProxyEndpoint>Devi modificare questa configurazione in modo che ProxyEndpoint applichi una policy Quota (come un passaggio di elaborazione) prima che il proxy API esegua qualsiasi altra elaborazione. Se uno sviluppatore ha superato una quota, non vuoi sprecare risorse di calcolo per richieste aggiuntive.
Per applicare questa configurazione, collega un passaggio di elaborazione a PreFlow di richiesta nel seguente modo:
<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 volte, potresti voler eseguire una policy dopo un'altra elaborazione iniziale su ProxyEndpoint. Ad esempio, vuoi controllare la quota in PreFlow, quindi eseguire un altro insieme di elaborazioni dopo aver controllato la quota, ad esempio convertire la richiesta da JSON a XML. Per farlo, collega una policy al percorso di richiesta PostFlow. Di seguito è riportato un esempio di collegamento di richiesta PostFlow allegato. Questa policy verrà eseguita sul messaggio di richiesta dopo l'esecuzione di tutte le policy in PreFlow (e di eventuali flussi condizionali).
<PostFlow>
<Request>
<Step><Name>JSONtoXMLPolicy</Name></Step>
</Request>
</PostFlow>Di seguito è riportato un esempio di collegamento di risposta PostFlow. Questa policy verrà eseguita sul messaggio di risposta. (La risposta PostFlow di ProxyEndpoint è la fase di elaborazione finale prima che la risposta venga restituita all'app client richiedente).
<PostFlow>
<Response>
<Step><Name>XMLtoJSONPolicy</Name></Step>
</Response>
</PostFlow>