ProxyEndpoint veya TargetEndpoint Akışına politika ekleme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Politikalar bir Akışa eklenene kadar yürütülmez. Adım yapılandırmasında bir Politika adlandırarak Politika eki oluşturabilirsiniz.

Ek noktasının seçimi, API proxy'nizin davranışı açısından kritik öneme sahiptir. Örneğin, Kota politikasını bir yanıt Akışı'na eklerseniz Kota, istek mesajı arka uç hizmetine gönderildikten sonra uygulanır. Bu durumda Kota politikası uygulama amacınız ortadan kalkar. Bu nedenle, Kota politikasını istek Akışına bir işleme adımı olarak eklemeniz gerekir.

Politika ekinin biçimi şu şekildedir:

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

Örneğin:

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

Bir politika, ProxyEndpoint veya TargetEndpoint yapılandırmasındaki uygun isteğe ya da yanıt Akış öğesine Adım yapılandırması eklenerek akışa eklenir.

İstek veya yanıt akışına politika ekleyebilirsiniz. İstek ve yanıt akışları ayrıca PreFlow ve PostFlow olarak alt bölümlere ayrılır.

Aşağıdaki örnekte, politika eki olmayan minimum ProxyEndpoint yapılandırması gösterilmektedir. Yalnızca (gelen) HTTPProxyConnection ve RouteRule öğelerini tanımlar.

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

API proxy'si başka bir işlem gerçekleştirmeden önce ProxyEndpoint'in bir Kota politikası (işleme adımı olarak) uygulaması için bu yapılandırmayı değiştirmeniz gerekir. Geliştirici bir Kotayı aştıysa işlem kaynaklarını ek istekler için boşa harcamak istemezsiniz.

Bu yapılandırmayı zorunlu kılmak için PreFlow isteğine aşağıdaki şekilde bir işleme adımı eklersiniz:

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

Bazen bir politikanın ProxyEndpoint'teki diğer ilk işlemlerden sonra yürütülmesini isteyebilirsiniz. Örneğin, PreFlow'da Kota'yı kontrol etmek ve ardından kota kontrol edildikten sonra isteği JSON'den XML'e dönüştürmek gibi başka bir işleme grubu gerçekleştirmek istiyorsunuz. Bunu yapmak için PostFlow istek yoluna bir politika ekleyin. Aşağıda örnek bir PostFlow istek eki verilmiştir. Bu politika, PreFlow'daki tüm politikalar (ve tüm koşullu akışlar) yürütüldükten sonra istek mesajı üzerinde yürütülür.

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

Aşağıda örnek bir PostFlow ek yanıtı verilmiştir. Bu politika, yanıt mesajı üzerinde yürütülür. (ProxyEndpoint yanıtı PostFlow, yanıtın istekte bulunan istemci uygulamasına döndürülmesinden önceki son işleme aşamasıdır.)

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