Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza documentazione di Apigee Edge.
I criteri non vengono eseguiti finché non vengono collegati a un flusso. Puoi creare un allegato di criteri assegnando un nome a un criterio in una configurazione del passaggio.
La scelta del punto di attacco è fondamentale per il comportamento del proxy API. Ad esempio, se si associa il criterio per le quote a un flusso di risposta, la quota viene applicata dopo il è stato inviato al servizio di backend. Ciò supererebbe lo scopo di applicare una Norme per le quote. Di conseguenza, devi collegare il criterio per le quote come passaggio di elaborazione nella richiesta. Flusso.
Il formato di un allegato del criterio è:
<Step> <Name>{policy_name}</Name> </Step>
Ad esempio:
<Step> <Name>QuotaPolicy</Name> </Step>
Un criterio viene collegato a un flusso aggiungendo la configurazione del passaggio alla richiesta appropriata oppure elemento di flusso di risposta in una configurazione ProxyEndpoint o TargetEndpoint.
Puoi collegare un criterio a un flusso di richiesta o risposta. I flussi di richiesta e risposta sono ulteriori suddivisi in PreFlow e PostFlow.
L'esempio seguente mostra la configurazione minima di ProxyEndpoint, senza allegati di criteri. Definisce semplicemente la connessione 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 un criterio di quota (come passaggio di elaborazione) prima che il proxy API esegua qualsiasi altra elaborazione. Se uno sviluppatore ha superato il una quota, non si vuole sprecare le risorse di calcolo per le richieste aggiuntive.
Per applicare questa configurazione, allega un passaggio di elaborazione al PreFlow della richiesta come segue:
<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 un criterio dopo un'altra elaborazione iniziale sul ProxyEndpoint. Ad esempio, vuoi controllare la quota in PreFlow, quindi eseguire un altro insieme di operazioni di elaborazione dopo aver controllato la quota, ad esempio la conversione della richiesta da JSON a XML. Per farlo, collegare un criterio al percorso di richiesta PostFlow. Di seguito è riportato un esempio di richiesta PostFlow allegato. Questo criterio viene eseguito sul messaggio di richiesta dopo l'esecuzione di tutti i criteri in PreFlow (e di eventuali flussi condizionali).
<PostFlow> <Request> <Step><Name>JSONtoXMLPolicy</Name></Step> </Request> </PostFlow>
Di seguito è riportato un esempio di allegato PostFlow di una risposta. Questo criterio viene eseguito il giorno messaggio di risposta. (Il PostFlow della risposta ProxyEndpoint è la fase di elaborazione finale prima che viene restituita all'app client richiedente.)
<PostFlow> <Response> <Step><Name>XMLtoJSONPolicy</Name></Step> </Response> </PostFlow>