Melampirkan kebijakan ke Alur ProxyEndpoint atau TargetEndpoint

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Lihat dokumentasi Apigee Edge.

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

Pilihan titik lampiran sangat penting untuk perilaku proxy API Anda. Misalnya, jika Anda melampirkan kebijakan Kuota ke Flow respons, Kuota akan diterapkan setelah pesan permintaan dikirim ke layanan backend. Hal ini akan membatalkan tujuan penerapan kebijakan Kuota. Oleh karena itu, Anda perlu melampirkan 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 dilampirkan ke Alur dengan menambahkan konfigurasi Langkah ke permintaan atau elemen Alur respons yang sesuai dalam konfigurasi ProxyEndpoint atau TargetEndpoint.

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

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

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

Anda harus mengubah konfigurasi ini sehingga ProxyEndpoint menerapkan kebijakan Kuota (sebagai Langkah pemrosesan) sebelum proxy API melakukan pemrosesan lainnya. Jika developer telah melampaui Kuota, Anda tidak ingin membuang resource komputasi untuk permintaan tambahan.

Untuk menerapkan konfigurasi ini, Anda melampirkan 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 kebijakan dijalankan setelah beberapa pemrosesan awal lainnya di ProxyEndpoint. Misalnya, Anda ingin memeriksa Kuota di PreFlow, lalu melakukan serangkaian pemrosesan lain setelah Kuota diperiksa, 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 di PreFlow (dan alur bersyarat) dijalankan.

<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 respons ditampilkan ke aplikasi klien yang meminta.)

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