Melampirkan kebijakan ke ProxyEndpoint atau Alur TargetEndpoint

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

Kebijakan tidak akan dijalankan hingga dilampirkan ke Flow. Anda dapat membuat lampiran Kebijakan dengan memberi nama Kebijakan di konfigurasi Langkah.

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

Format lampiran kebijakan adalah:

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

Contoh:

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

Kebijakan disertakan ke Flow dengan menambahkan konfigurasi Langkah ke elemen Flow permintaan atau respons yang sesuai dalam konfigurasi ProxyEndpoint atau TargetEndpoint.

Anda dapat melampirkan kebijakan ke Alur permintaan atau respons. Alur Permintaan dan respons dibagi lagi menjadi PreFlow dan PostFlow.

Contoh berikut menunjukkan konfigurasi ProxyEndpoint minimal, tanpa lampiran kebijakan. Ini hanya menetapkan HTTPProxyConnection (inbound) dan RouteRule.

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

Anda harus memodifikasi konfigurasi ini agar ProxyEndpoint memberlakukan kebijakan Kuota (sebagai Langkah pemrosesan) sebelum proxy API melakukan pemrosesan lainnya. Jika developer telah melampaui Kuota, Anda tentu tidak ingin menyia-nyiakan resource komputasi untuk permintaan tambahan.

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

<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 agar kebijakan dijalankan setelah beberapa pemrosesan awal lainnya di ProxyEndpoint. Misalnya, Anda ingin memeriksa Kuota di PreFlow, lalu melakukan serangkaian pemrosesan lain setelah Kuota dicentang, seperti mengonversi permintaan dari JSON ke XML. Untuk melakukannya, lampirkan kebijakan ke jalur permintaan PostFlow. Berikut adalah contoh lampiran PostFlow permintaan. Kebijakan ini akan dijalankan pada pesan permintaan setelah semua kebijakan dalam PreFlow (dan alur bersyarat apa pun) dijalankan.

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

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

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