Collegamento di un criterio a un ProxyEndpoint o a un flusso TargetEndpoint

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

I criteri non vengono eseguiti finché non vengono collegati a un flusso. Puoi creare un criterio allegato assegnando un nome a un criterio in una configurazione.

La scelta del punto di collegamento è 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 ai criteri è:

<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 del ProxyEndpoint, senza criteri allegati. 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 il ProxyEndpoint applichi un criterio per le quote (come fase 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, collega un passaggio di elaborazione alla richiesta PreFlow come che 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 nella ProxyEndpoint. Ad esempio, si desidera controllare Quota in PreFlow, quindi eseguire un altro set l'elaborazione dopo il controllo della 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 che tutti i criteri nella Viene eseguito PreFlow (ed 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>