Melampirkan kebijakan ke Alur ProxyEndpoint atau TargetEndpoint

Anda sedang melihat dokumentasi Apigee Edge.
Buka Dokumentasi Apigee X.
info

Kebijakan tidak dijalankan hingga dilampirkan ke Flow. Anda dapat membuat Kebijakan lampiran dengan menamai Kebijakan dalam konfigurasi Langkah.

Pilihan titik lampiran sangat penting untuk perilaku proxy API Anda. Misalnya, jika Anda melampirkan kebijakan Quota ke Alur respons, maka Kuota akan diberlakukan setelah pesan permintaan dikirim ke layanan backend. Hal itu akan menggagalkan tujuan penerapan Kebijakan kuota. Oleh karena itu, Anda perlu melampirkan kebijakan Quota sebagai Langkah pemrosesan pada permintaan tersebut Alur.

Format lampiran kebijakan adalah:

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

Contoh:

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

Kebijakan dikaitkan ke Alur dengan menambahkan konfigurasi Langkah ke permintaan atau elemen Flow respons dalam konfigurasi ProxyEndpoint atau TargetEndpoint.

Anda dapat melampirkan kebijakan ke Alur permintaan atau respons. Alur permintaan dan respons lebih lanjut dibagi lagi menjadi {i> PreFlow<i} dan {i>PostFlow<i}.

Contoh berikut menunjukkan konfigurasi ProxyEndpoint minimal, tanpa kebijakan lampiran. Kode ini hanya menentukan HTTPProxyConnection (masuk) dan RouteRule.

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

Anda harus mengubah konfigurasi ini agar ProxyEndpoint menerapkan kebijakan Kuota (sebagai Langkah pemrosesan) sebelum proxy API melakukan pemrosesan lainnya. Jika developer telah melampaui Kuota, dan Anda tidak ingin menyia-nyiakan resource komputasi apa pun pada permintaan tambahan.

Untuk menerapkan konfigurasi ini, tambahkan Langkah pemrosesan ke PreFlow permintaan sebagai berikut ini:

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

Terkadang, Anda mungkin ingin kebijakan dijalankan setelah beberapa pemrosesan awal lainnya pada ProxyEndpoint. Misalnya, Anda ingin memeriksa Quota di PreFlow, kemudian melakukan serangkaian pemrosesan setelah Kuota dicentang, seperti mengonversi permintaan dari JSON ke XML. Untuk melakukannya, melampirkan kebijakan ke jalur permintaan PostFlow. Berikut adalah contoh permintaan PostFlow lampiran. Kebijakan ini akan dijalankan pada pesan permintaan setelah semua kebijakan dalam PreFlow (dan alur bersyarat) dieksekusi.

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

Berikut adalah contoh lampiran PostFlow respons. Kebijakan ini akan dijalankan pada pesan respons. (PostFlow respons ProxyEndpoint adalah fase pemrosesan akhir sebelum ditampilkan ke aplikasi klien yang meminta.)

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