Dołączanie zasady do punktu końcowego ProxyEnd lub docelowego punktu końcowego

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
informacje.

Zasady nie są wykonywane, dopóki nie zostaną dołączone do przepływu. Możesz utworzyć załącznik do zasad, nadając nazwę zasadzie w konfiguracji kroku.

Wybór punktu przyłącza ma kluczowe znaczenie dla działania serwera proxy interfejsu API. Jeśli na przykład dołączysz do przepływu odpowiedzi zasadę dotyczącą limitów, limit będzie egzekwowany po wysłaniu wiadomości z żądaniem do usługi backendu. Stosowanie zasady dotyczącej limitów nie byłoby najlepszym rozwiązaniem. Dlatego jako etap przetwarzania w przepływie żądania musisz dołączyć zasadę dotyczącą limitu.

Załącznik do zasad ma następujący format:

<Step>
    <Name>{policy_name}</Name>
</Step>

Na przykład:

<Step>
    <Name>QuotaPolicy</Name>
</Step>

Zasada jest dołączana do przepływu przez dodanie konfiguracji kroku do odpowiedniego elementu żądania lub odpowiedzi przepływu odpowiedzi w konfiguracji ProxyEndpoint lub TargetEndpoint.

Możesz dołączyć zasadę do procesu żądania lub odpowiedzi. Przepływy żądań i odpowiedzi są dodatkowo podzielone na etapy Preflow i PostFlow.

Poniższy przykład pokazuje minimalną konfigurację ProxyEndpoint bez przyłączy zasad. Definiuje tylko (przychodzące) połączenie HTTPProxyConnection i RouteRule.

<ProxyEndpoint name="default">
    <HTTPProxyConnection>
        <BasePath>/weather</BasePath>
        <VirtualHost>default</VirtualHost>
    </HTTPProxyConnection>
    <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
    </RouteRule>
</ProxyEndpoint>

Musisz zmodyfikować tę konfigurację tak, aby punkt przetwarzania ProxyEndpoint wymuszał stosowanie zasady dotyczącej limitów (w ramach etapu przetwarzania), zanim serwer proxy interfejsu API wykona inne działania. Jeśli programista przekroczył limit, nie chcesz marnować zasobów obliczeniowych na dodatkowe żądania.

Aby wyegzekwować tę konfigurację, dołączasz krok przetwarzania do żądania Preflow w ten sposób:

<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>

Czasami może być konieczne wykonanie zasady po innym wstępnym przetwarzaniu w ProxyEndpoint. Na przykład chcesz sprawdzić limit w Preflow, a potem wykonać kolejny zestaw przetwarzania po sprawdzeniu limitu, na przykład przekonwertować żądanie z JSON na XML. Aby to zrobić, dołącz zasadę do ścieżki żądania PostFlow. Poniżej znajdziesz przykładowe żądanie w załączniku PostFlow. Ta zasada jest wykonywana w komunikacie z żądaniem po wykonaniu wszystkich zasad w PreFlow (i wszystkich przepływach warunkowych).

<PostFlow>
  <Request>
    <Step><Name>JSONtoXMLPolicy</Name></Step>
  </Request>
</PostFlow>

Poniżej znajdziesz przykładową odpowiedź w załączniku PostFlow. Ta zasada jest uruchamiana w wiadomości z odpowiedzią. Odpowiedź z ProxyEndpoint po przepływie to ostatni etap przetwarzania przed zwróceniem odpowiedzi do aplikacji klienckiej wysyłającej żądanie.

<PostFlow>
  <Response>
    <Step><Name>XMLtoJSONPolicy</Name></Step>
  </Response>
</PostFlow>