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 politikayı adlandırarak politika eki oluşturabilirsiniz.

Ekleme 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 durum, kota politikasının uygulanma amacını boşa çıkarır. Bu nedenle, kota politikasını istek akışında bir işleme adımı olarak eklemeniz gerekir.

Politika eklerinin biçimi şöyledir:

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

Örneğin:

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

Bir politika, ProxyEndpoint veya TargetEndpoint yapılandırmasında uygun istek ya da yanıt akış öğesine adım yapılandırması eklenerek bir akışa eklenir.

Bir politikayı istek veya yanıt akışına ekleyebilirsiniz. İstek ve yanıt akışları, PreFlow ve PostFlow olarak daha da alt bölümlere ayrılır.

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

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

Bu yapılandırmayı, API proxy'si başka bir işlem yapmadan önce ProxyEndpoint'in bir kota politikası (işleme adımı olarak) uygulayacağı şekilde değiştirmeniz gerekir. Bir geliştirici kotayı aştıysa ek istekler için bilgi işlem kaynaklarını boşa harcamak istemezsiniz.

Bu yapılandırmayı zorunlu kılmak için isteğe bir işleme adımı ekleyin.

<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'te başka bir ilk işleme işleminden sonra yürütülmesini isteyebilirsiniz. Örneğin, PreFlow'da kotayı kontrol etmek ve kota kontrol edildikten sonra başka bir işleme grubu gerçekleştirmek (ör. isteği JSON'dan XML'ye dönüştürmek) istiyorsunuz. Bunu yapmak için PostFlow istek yoluna bir politika ekleyin. Aşağıda, örnek bir PostFlow eki isteği verilmiştir. Bu politika, PreFlow'daki (ve koşullu akışlardaki) tüm politikalar yürütüldükten sonra istek mesajında yürütülür.

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

Aşağıda örnek bir yanıt PostFlow eki verilmiştir. Bu politika, yanıt mesajında 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>