Kebijakan ResponseCache

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

Menyimpan data dari cache resource backend, sehingga mengurangi jumlah permintaan ke resource tersebut. Sebagai aplikasi membuat permintaan ke URI yang sama, Anda dapat menggunakan kebijakan ini untuk menampilkan respons yang di-cache, meneruskan permintaan tersebut ke server backend. Kebijakan ResponseCache dapat meningkatkan kualitas API Anda performa aplikasi melalui berkurangnya latensi dan traffic jaringan.

Anda mungkin akan merasa ResponseCache paling berguna saat data backend yang digunakan oleh API Anda diperbarui hanya secara berkala. Misalnya, bayangkan Anda memiliki API yang mengekspos data laporan cuaca diperbarui hanya setiap sepuluh menit. Dengan menggunakan ResponseCache untuk menampilkan respons yang di-cache antara memuat ulang, Anda dapat mengurangi jumlah permintaan yang mencapai backend. Hal ini juga mengurangi jumlah hop jaringan.

Untuk penyimpanan cache jangka pendek tujuan umum, pertimbangkan untuk menggunakan kebijakan Isi Cache. Kebijakan tersebut digunakan bersama dengan kebijakan Lookup Cache (untuk membaca entri cache) dan Batalkan kebijakan Cache (untuk membatalkan validasi entri).

Tonton video ini untuk membaca pengantar kebijakan Cache Respons.

Contoh

Cache 10 menit

Contoh ini menunjukkan cara menyimpan respons yang di-cache untuk 10 menit.

Bayangkan Anda memiliki API di URL berikut:

http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778

Anda menggunakan parameter kueri w sebagai kunci cache. Apigee Edge memeriksa parameter kueri w setiap kali permintaan diterima. Jika data yang valid (yang adalah, belum habis masa berlakunya) ada di cache, maka pesan respons yang di-cache akan dikembalikan ke klien yang meminta.

Sekarang, bayangkan Anda memiliki kebijakan ResponseCache yang dikonfigurasi sebagai berikut.

<ResponseCache name="ResponseCache">
    <CacheKey>
        <KeyFragment ref="request.queryparam.w" />
    </CacheKey>
    <ExpirySettings>
        <TimeoutInSeconds>600</TimeoutInSeconds>
    </ExpirySettings>
</ResponseCache>

Saat pertama kali proxy API menerima pesan permintaan untuk URL berikut, respons cache tersebut disimpan di cache. Pada permintaan kedua dalam waktu 10 menit, pencarian cache akan terjadi -- respons yang di-cache dikembalikan ke aplikasi tanpa permintaan yang diteruskan ke layanan backend.

http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778

Lewati pencarian cache

Contoh berikut menunjukkan cara agar pencarian cache dilewati dan memiliki cache diperbarui. Lihat juga video ini tentang penggunaan SkipCacheLookup.

Kondisi SkipCacheLookup opsional (jika dikonfigurasi) dievaluasi di jalur permintaan. Jika kondisi bernilai true, maka pencarian cache akan dilewati dan cache akan diperbarui.

Penggunaan umum pembaruan cache bersyarat adalah kondisi yang menentukan yang menyebabkan kondisi dievaluasi menjadi true. Aplikasi klien bernaskah bisa dikonfigurasi untuk mengirim permintaan secara berkala dengan header HTTP yang sesuai, secara eksplisit yang menyebabkan cache respons dimuat ulang.

Misalnya, bayangkan panggilan ke API di URL berikut:

'http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778' -H "bypass-cache:true"

Sekarang, bayangkan kebijakan ResponseCache berikut dikonfigurasi di proxy tersebut. Perhatikan bahwa kondisi pengabaian-cache ditetapkan ke true.

<ResponseCache name="ResponseCache">
    <CacheKey>
        <KeyFragment ref="request.queryparam.w" />
    </CacheKey>
    <!-- Explicitly refresh the cached response -->
    <SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
    <ExpirySettings>
        <TimeoutInSeconds>600</TimeoutInSeconds>
    </ExpirySettings>
</ResponseCache>

Untuk informasi selengkapnya tentang kondisi, lihat Variabel flow dan kondisi.

Referensi elemen

Referensi elemen menjelaskan elemen dan atribut kebijakan.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
    <DisplayName>Response Cache 1</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref="request.uri" />
    </CacheKey>
    <Scope>Exclusive</Scope>
    <ExpirySettings>
        <ExpiryDate/>
        <TimeOfDay/>
        <TimeoutInSeconds ref="flow.variable.here">300</TimeoutInSeconds>
    </ExpirySettings>
    <CacheResource>cache_to_use</CacheResource>
    <CacheLookupTimeoutInSeconds/>
    <ExcludeErrorResponse/>
    <SkipCacheLookup/>
    <SkipCachePopulation/>
    <UseAcceptHeader/>
    <UseResponseCacheHeaders/>
</ResponseCache>

&lt;ResponseCache&gt; atribut

<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">

Tabel berikut menjelaskan atribut yang umum untuk semua elemen induk kebijakan:

Atribut Deskripsi Default Ketersediaan
name

Nama internal kebijakan. Nilai atribut name dapat berisi huruf, angka, spasi, tanda hubung, garis bawah, dan titik. Nilai ini tidak boleh melebihi 255 karakter.

Secara opsional, gunakan elemen <DisplayName> untuk memberi label kebijakan di editor proxy UI pengelolaan dengan nama natural language yang berbeda.

T/A Wajib
continueOnError

Tetapkan ke false untuk menampilkan error saat kebijakan gagal. Diharapkan untuk sebagian besar kebijakan.

Setel ke true agar eksekusi alur dapat dilanjutkan bahkan setelah kebijakan gagal.

salah Opsional
enabled

Setel ke true untuk menerapkan kebijakan.

Setel ke false untuk menonaktifkan kebijakan. Kebijakan ini tidak akan ditegakkan meskipun tetap terikat pada alur.

true Opsional
async

Atribut ini tidak digunakan lagi.

salah Tidak digunakan lagi

&lt;DisplayName&gt; elemen

Gunakan selain atribut name untuk memberi label kebijakan di editor proxy UI dengan nama natural language yang berbeda.

<DisplayName>Policy Display Name</DisplayName>
Default

T/A

Jika Anda menghapus elemen ini, nilai atribut name kebijakan akan menjadi data

Ketersediaan Opsional
Jenis String

&lt;CacheKey&gt; elemen

Mengonfigurasi pointer unik ke sepotong data yang disimpan dalam cache.

Kunci cache dibatasi hingga 2 KB.

<CacheKey>
    <Prefix>string</Prefix>
    <KeyFragment ref="variable_name" />
    <KeyFragment>literal_string</KeyFragment>
</CacheKey>

Default:

T/A

Kehadiran:

Wajib

Jenis:

T/A

<CacheKey> menyusun nama setiap bagian data yang disimpan dalam cache. Kunci sering kali ditetapkan menggunakan nilai dari header entity atau parameter kueri. Dalam kasus tersebut, Anda akan atribut ref elemen menentukan variabel yang berisi nilai kunci.

Saat runtime, nilai <KeyFragment> ditambahkan dengan awalan Nilai elemen <Scope> atau nilai <Prefix>. Misalnya, berikut menghasilkan kunci cache UserToken__apiAccessToken__&lt;value_of_client_id&gt;:

<CacheKey>
    <Prefix>UserToken</Prefix>
    <KeyFragment>apiAccessToken</KeyFragment>
    <KeyFragment ref="request.queryparam.client_id" />
</CacheKey>

Anda menggunakan elemen <CacheKey> bersama dengan <Prefix> dan <Scope>. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.

&lt;CacheLookupTimeoutInSeconds&gt; elemen

Menentukan jumlah detik setelah pencarian {i>cache<i} yang gagal akan dianggap cache tidak ditemukan. Jika ini terjadi, alur akan dilanjutkan di sepanjang jalur cache yang terlewat.

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

Default:

30

Kehadiran:

Opsional

Jenis:

Bilangan Bulat

&lt;CacheResource&gt; elemen

Menentukan cache tempat pesan akan disimpan. Hapus elemen ini untuk menggunakan elemen yang disertakan dalam cache bersama. Anda harus menentukan {i> CacheResource<i} berdasarkan nama jika Anda ingin menghapus entri yang ditampung dalam {i>cache<i} secara administratif. Untuk mengetahui informasi selengkapnya, lihat Cache.

<CacheResource>cache_to_use</CacheResource>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Untuk informasi selengkapnya tentang cara mengonfigurasi cache, lihat Membuat dan mengedit lingkungan cache.

&lt;CacheKey&gt;/&lt;KeyFragment&gt; elemen

Menentukan nilai yang harus disertakan dalam kunci cache, membuat namespace untuk pencocokan terhadap respons yang di-cache.

<KeyFragment ref="variable_name"/>
<KeyFragment>literal_string</KeyFragment>

Default:

T/A

Kehadiran:

Opsional

Jenis:

T/A

Ini bisa berupa kunci (nama statis yang Anda berikan) atau nilai (entri dinamis yang ditetapkan oleh merujuk ke variabel). Semua fragmen yang ditentukan digabungkan (ditambah awalan) yang digabungkan menjadi membuat kunci cache.

<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />

Anda menggunakan elemen <KeyFragment> bersama dengan <Prefix> dan <Scope>. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.

Atribut

Atribut Jenis Default Wajib Deskripsi
referensi string Tidak

Variabel yang digunakan untuk mendapatkan nilai. Tidak boleh digunakan jika elemen ini berisi nilai literal.

&lt;CacheKey&gt;/&lt;Prefix&gt; elemen

Menentukan nilai yang akan digunakan sebagai awalan kunci cache.

<Prefix>prefix_string</Prefix>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Gunakan nilai ini, bukan <Scope> jika ingin menentukan nilai Anda sendiri bukan nilai yang dienumerasi <Scope>. Jika ditentukan, <Prefix> menambahkan nilai kunci cache untuk entri yang ditulis ke cache. J Nilai elemen <Prefix> mengganti elemen <Scope> dengan sejumlah nilai.

Anda menggunakan elemen <Prefix> bersama dengan <CacheKey> dan <Scope>. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.

&lt;ExcludeErrorResponse&gt; elemen

Saat ini, secara default, kebijakan ini menyimpan respons HTTP dalam cache dengan setiap kemungkinan Kode status. Artinya, respons berhasil dan error akan disimpan di cache. Misalnya, respons dengan kedua kode status 2xx dan 3xx di-cache secara {i>default<i}.

Setel elemen ini ke true jika Anda tidak ingin menyimpan target dalam cache respons dengan kode status error HTTP; hanya tanggapan dengan kode status dari 200 hingga 205 yang akan di-cache jika elemen ini bernilai benar (true). Inilah satu-satunya kode status HTTP yang dihitung Edge "berhasil" kode, dan Anda tidak dapat mengubah pengaitan ini.

Untuk pembahasan tentang pola Cache Respons terkait manfaat elemen ini, lihat postingan komunitas ini.

Catatan: Dalam rilis mendatang (akan ditentukan), setelan default akan berubah menjadi true. Lihat Apigee Catatan Rilis untuk mengetahui detailnya.

<ExcludeErrorResponse>true</ExcludeErrorResponse>

Default:

salah

Kehadiran:

Opsional

Jenis:

Boolean

&lt;ExpirySettings&gt; elemen

Menentukan kapan entri cache harus berakhir. Jika ada, <TimeoutInSeconds> menggantikan <TimeOfDay> dan <ExpiryDate>.

<ExpirySettings>
  <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
  <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
  <ExpiryDate ref="date_variable">expiration_date</ExpiryDate>
</ExpirySettings>

Default:

T/A

Kehadiran:

Wajib

Jenis:

T/A

&lt;ExpirySettings&gt;/&lt;ExpiryDate&gt; elemen

Menentukan tanggal saat entri cache harus berakhir. Gunakan formulir mm-dd-yyyy. Jika ada, yang seinduk elemen ini, <TimeoutInSeconds>, akan menggantikan <ExpiryDate>.

<ExpirySettings>
    <ExpiryDate ref="{date_variable}">expiration_date</ExpiryDate>
</ExpirySettings>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Atribut

<ExpiryDate ref="" />
Atribut Deskripsi Default Ketersediaan Jenis
referensi

Variabel yang digunakan untuk mendapatkan nilai. Tidak boleh digunakan jika elemen ini berisi nilai literal.

T/A Opsional String

&lt;ExpirySettings&gt;/&lt;TimeOfDay&gt; elemen

Waktu saat entri cache akan kedaluwarsa. Gunakan formulir hh:mm:ss . Jika ada, yang seinduk elemen ini, <TimeoutInSeconds>, akan menggantikan <TimeOfDay>.

Masukkan waktu dalam format HH:mm:ss, dengan HH mewakili jam dalam format 24 jam. Sebagai misalnya pukul 14:30:00 hingga 14:30.

Untuk waktu, lokalitas dan zona waktu default akan bervariasi bergantung pada lokasi kode berjalan (yang tidak dapat diketahui saat Anda mengonfigurasi kebijakan). Untuk informasi tentang cara mengonfigurasi lokal, lihat Membuat dan mengedit cache lingkungan.

<ExpirySettings>
    <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
</ExpirySettings>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Atribut

Atribut Deskripsi Default Ketersediaan Jenis
referensi Variabel dengan nilai waktu habis masa berlaku. T/A Opsional String

&lt;ExpirySettings&gt;/&lt;TimeoutInSec&gt; elemen

Jumlah detik saat entri cache berakhir.

&lt;ExpirySettings&gt;/&lt;TimeoutInSeconds&gt; elemen

Jumlah detik saat entri cache berakhir. Jika ada, elemen ini menggantikan saudara kandungnya, <TimeOfDay> dan <ExpiryDate>.

<ExpirySettings>
    <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
</ExpirySettings>

Catatan: Berikan nilai waktu tunggu default yang akan digunakan jika referensi tidak menerima nilai dari duration_variable.

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Atribut

Atribut Deskripsi Default Ketersediaan Jenis
referensi Variabel dengan nilai waktu tunggu.
T/A
Opsional String

&lt;Scope&gt; elemen

Enumerasi yang digunakan untuk membuat awalan untuk kunci cache saat <Prefix> tidak disediakan dalam elemen <CacheKey>.

<Scope>scope_enumeration</Scope>

Default:

"Eksklusif"

Kehadiran:

Opsional

Jenis:

String

Setelan <Scope> menentukan kunci cache yang ditambahkan sesuai dengan nilai <Scope>. Misalnya, kunci {i>cache<i} akan berupa bentuk berikut ketika cakupan ditetapkan ke Exclusive : orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].

Jika elemen <Prefix> ada di <CacheKey>, elemen tersebut menggantikan nilai elemen <Scope>. Nilai yang valid mencakup enumerasi di bawah ini.

Anda menggunakan elemen <Scope> bersama dengan <CacheKey> dan <Prefix>. Untuk mengetahui informasi selengkapnya, lihat Bekerja dengan kunci cache.

Nilai yang dapat diterima

Nilai Cakupan Deskripsi
Global

Kunci cache dibagikan ke semua proxy API yang di-deploy di lingkungan. Kunci cache adalah ditambahkan dalam formulir orgName __ envName __.

Jika Anda menentukan entri <CacheKey> dengan <KeyFragment> apiAccessToken dan cakupan <Global>, setiap entri disimpan sebagai orgName__envName__apiAccessToken, diikuti oleh token akses yang diserialisasi. Untuk proxy API yang di-deploy di lingkungan yang disebut 'tes' dalam organisasi yang disebut {i>'apifactory'<i}, token akses akan disimpan di bawah kunci cache berikut: apifactory__test__apiAccessToken.

Application

Nama proxy API digunakan sebagai awalan.

Kunci cache ditambahkan dalam bentuk orgName__envName__apiProxyName.

Proxy

Konfigurasi ProxyEndpoint digunakan sebagai awalan.

Kunci cache ditambahkan dalam formulir orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName .

Target

Konfigurasi TargetEndpoint digunakan sebagai awalan.

Kunci cache ditambahkan dalam formulir orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName .

Exclusive

Default. Ini adalah yang paling spesifik, dan dengan demikian meminimalkan risiko namespace tabrakan dalam {i> cache<i} yang diberikan.

Awalan adalah salah satu dari dua bentuk:

  • Jika kebijakan ini disertakan ke alur ProxyEndpoint, awalannya adalah dari ApiProxyName_ProxyEndpointName.
  • Jika kebijakan dilampirkan pada TargetEndpoint, awalan harus berupa bentuk ApiProxyName_TargetName.

Kunci cache ditambahkan dalam formulir orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName

Misalnya, string lengkap mungkin terlihat seperti ini:

apifactory__test__weatherapi__16__default__apiAccessToken
.

&lt;SkipCacheLookup&gt; elemen

Mendefinisikan ekspresi yang, jika dievaluasi ke true pada waktu proses, akan menentukan pencarian cache tersebut harus dilewati dan cache harus dimuat ulang. Lihat juga ini video tentang penggunaan SkipCacheLookup.

<SkipCacheLookup>variable_condition_expression</SkipCacheLookup>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Dari contoh berikut, jika variabel {i> pass-cache<i} diatur ke benar di {i>header<i} yang masuk, pencarian cache dilewati dan cache dimuat ulang.

<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>

&lt;SkipCachePopulation&gt; elemen

Mendefinisikan ekspresi yang, jika dievaluasi ke true pada saat runtime, akan menetapkan bahwa penulisan ke dan cache harus dilewati. Lihat juga ini video tentang penggunaan SkipCachePopulation.

<SkipCachePopulation>variable_condition_expression</SkipCachePopulation>

Default:

T/A

Kehadiran:

Opsional

Jenis:

String

Misalnya, kode berikut akan melewati penulisan cache jika kode status respons adalah 400 atau lebih tinggi:

<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>

&lt;UseAcceptHeader&gt; elemen

Setel ke true agar kunci cache entri cache respons ditambahkan dengan nilai dari Respons Terima header.

Edge menggunakan Accept, Accept-Encoding, Accept-Language dan Accept-Charset permintaan header saat menghitung kunci cache. Pendekatan ini mencegah klien mendapatkan jenis media yang tidak mereka minta.

Misalnya, pertimbangkan jika dua permintaan berasal dari URL yang sama, tempat permintaan pertama menerima {i>gzip<i} dan yang kedua tidak. Permintaan pertama akan di-cache, dan entri yang di-cache akan (mungkin) menjadi respons yang di-gzip. Permintaan kedua akan membaca nilai yang di-{i>cache<i} dan kemudian dapat mengembalikan entri {i>gzip<i} ke klien yang tidak mampu membaca {i>gzip<i}.

Lihat Mengonfigurasi kunci cache untuk informasi selengkapnya.

<UseAcceptHeader>false</UseAcceptHeader>

Default:

salah

Kehadiran:

Opsional

Jenis:

Boolean

&lt;UseResponseCacheHeaders&gt; elemen

Setel ke true agar header respons HTTP dipertimbangkan saat menyetel "waktu ke aktif" (TTL) respons dalam cache. Jika ini benar, Edge mempertimbangkan nilai header respons berikut, membandingkan nilai dengan yang ditetapkan oleh <ExpirySettings> saat menyetel waktu aktif:

  • Cache-Control s-maxage
  • Cache-Control max-age
  • Expires

Lihat Menyetel masa berlaku entri cache untuk informasi selengkapnya spesifikasi pendukung.

<UseResponseCacheHeaders>false</UseResponseCacheHeaders>

Default:

salah

Kehadiran:

Opsional

Jenis:

Boolean

Catatan penggunaan

Ukuran maksimum untuk setiap objek yang di-cache adalah 256 KB. (Untuk informasi terperinci tentang bagaimana Edge proses, lihat Cache internal.)

Melalui konfigurasi di kebijakan ResponseCache, Anda dapat meminta Edge menyertakan respons HTTP header dalam menyetel masa berlaku entri cache dan kunci cache. Bagian ini menjelaskan bahwa Anda dapat menggunakan kebijakan dengan header untuk mengelola masa berlaku cache dan kunci cache.

Untuk mengetahui informasi selengkapnya tentang cara Edge menangani header respons dengan kebijakan ResponseCache, lihat Dukungan untuk header respons HTTP.

Menyetel masa berlaku entri cache

Seperti halnya Isi Kebijakan cache, Anda dapat menyetel akhir masa berlaku entri cache respons (waktunya aktif) menggunakan <ExpirySettings>. Dalam kebijakan ResponseCache, Anda juga dapat memiliki Edge pertimbangkan header respons saat ada.

Untuk menggunakan header respons, tetapkan nilai elemen <UseResponseCacheHeaders> ke benar. Setelan tersebut menyebabkan Edge mempertimbangkan header respons, membandingkannya dengan nilai yang ditetapkan dengan <ExpirySettings>, lalu gunakan nilai terendah di antara keduanya. Kapan mempertimbangkan header respons, Edge memilih nilai yang tersedia seperti yang dijelaskan dalam berikut ini:

Misalnya, bayangkan respons di-cache dengan nilai berikut:

  • Tidak ada nilai Cache-Control s-maxage
  • Nilai Cache-Control max-age 300
  • Tanggal Expires dalam tiga hari
  • Nilai <ExpirySettings> TimeoutInSeconds sebesar 600.

Dalam hal ini, nilai Cache-Control max-age akan digunakan untuk TTL karena lebih rendah dari nilai <ExpirySettings> dan karena ada tidak ada nilai Cache-Control s-maxage (yang lebih diutamakan daripada max-age).

Mengonfigurasi kunci cache

Seperti kebijakan cache tujuan umum, misalnya Isi kebijakan Cache, dengan ResponseCache, Anda menggunakan elemen <CacheKey> dan <Scope> untuk mengkonfigurasi pembuatan kunci cache untuk entri cache. Dengan ResponseCache, Anda juga dapat membuat kunci cache lebih bermakna dengan menambahkan header Terima respons ke nilai kunci.

Untuk informasi umum tentang cara mengonfigurasi kunci cache, lihat Bekerja dengan kunci cache. Sebagai informasi tentang penggunaan header Accept, lihat <UseAcceptHeader>.

Tentang enkripsi cache

Edge for Public Cloud: Cache hanya dienkripsi di PCI- dan mendukung HIPAA tidak di organisasi lain. Enkripsi untuk organisasi tersebut dikonfigurasikan selama organisasi penyediaan resource.

Variabel flow

Variabel Flow standar berikut akan diisi saat kebijakan ResponseCache dijalankan. Untuk mengetahui informasi selengkapnya tentang variabel Alur, lihat Referensi variabel.

Variabel Jenis Izin Deskripsi
responsecache.{policy_name}.cachename String Hanya Baca Menampilkan cache yang digunakan dalam kebijakan
responsecache.{policy_name}.cachekey String Hanya Baca Menampilkan kunci yang digunakan
responsecache.{policy_name}.cachehit Boolean Hanya Baca True jika eksekusi kebijakan berhasil
responsecache.{policy_name}.invalidentry Boolean Hanya Baca True jika entri cache tidak valid

Kode error

Bagian ini menjelaskan pesan error dan variabel alur yang ditetapkan saat kebijakan ini memicu error. Informasi ini penting untuk diketahui apakah Anda sedang mengembangkan aturan fault untuk proxy. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani kesalahan.

Awalan kode error

T/A

Error runtime

Kebijakan ini tidak menampilkan error runtime apa pun.

Error saat deployment

Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.

Nama error Penyebab Perbaiki
InvalidTimeout Jika elemen <CacheLookupTimeoutInSeconds> kebijakan ResponseCache ditetapkan ke angka negatif, deployment proxy API akan gagal.
InvalidCacheResourceReference Error ini terjadi jika elemen <CacheResource> dalam kebijakan ResponseCache ditetapkan ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.
ResponseCacheStepAttachmentNotAllowedReq Error ini terjadi jika kebijakan ResponseCache yang sama dilampirkan ke beberapa jalur permintaan dalam setiap alur proxy API.
ResponseCacheStepAttachmentNotAllowedResp Error ini terjadi jika kebijakan ResponseCache yang sama dilampirkan ke beberapa jalur respons dalam setiap alur proxy API.
InvalidMessagePatternForErrorCode Error ini terjadi jika elemen <SkipCacheLookup> atau <SkipCachePopulation> dalam kebijakan ResponseCache berisi kondisi yang tidak valid.
CacheNotFound Error ini terjadi jika cache tertentu yang disebutkan dalam pesan error tidak dibuat pada komponen Pemroses Pesan tertentu.

Variabel kesalahan

T/A

Contoh respons error

T/A

Skema

Setiap jenis kebijakan ditentukan oleh skema XML (.xsd). Sebagai referensi, skema kebijakan tersedia di GitHub.