Kebijakan LookupCache

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

Mengonfigurasi cara mengambil nilai yang di-cache saat runtime.

Kebijakan ini ditujukan untuk penggunaan dalam penyimpanan cache jangka pendek dengan tujuan umum. Model ini digunakan di bersama dengan parameter Isi Kebijakan cache (untuk menulis entri) dan kebijakan Cache Tidak Valid (untuk membatalkan validasi entri).

Untuk meng-cache respons resource backend, lihat metode Kebijakan Cache Respons.

Referensi elemen

Berikut daftar elemen yang dapat Anda konfigurasi pada kebijakan ini.

<LookupCache async="false" continueOnError="false" enabled="true" name="Lookup-Cache-1">
    <DisplayName>Lookup Cache 1</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref=""/>
    </CacheKey>
    <!-- Omit this element if you're using the included shared cache. -->
    <CacheResource/>
    <CacheLookupTimeoutInSeconds/>
    <Scope>Exclusive</Scope>
    <AssignTo>flowVar</AssignTo>
</LookupCache>

Cache bersama disertakan secara default. Untuk menggunakan cache bersama, hilangkan <CacheResource> dalam konfigurasi kebijakan ini.

Untuk mengetahui informasi selengkapnya tentang penyimpanan data pokok, lihat Cache internal. Untuk informasi selengkapnya tentang mengonfigurasi cache, lihat Membuat dan mengedit cache lingkungan.

&lt;LookupCache&gt; atribut

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;AssignTo&gt; elemen

Menentukan variabel tempat entri cache ditetapkan setelah diambil dari di cache oleh pengguna. Variabel harus bisa ditulis. Jika pencarian cache tidak mengambil nilai, variabel tidak akan ditetapkan.

<AssignTo>variable_to_receive_cached_value</AssignTo>

Default:

T/A

Kehadiran:

Wajib

Jenis:

String

&lt;CacheKey&gt; elemen

Mengonfigurasi pointer unik ke sepotong data yang disimpan dalam cache.

<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 di cache oleh pengguna.

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.

Hilangkan sepenuhnya elemen ini jika kebijakan ini (dan Mengisi Cache dan Kebijakan InvalidateCache) menggunakan cache bersama yang disertakan.

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

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 formulir orgName__envName__applicationName.

Proxy

Konfigurasi ProxyEndpoint digunakan sebagai awalan.

Kunci cache ditambahkan dalam formulir orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName kami.

Target

Konfigurasi TargetEndpoint digunakan sebagai awalan.

Kunci cache ditambahkan dalam formulir orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName kami.

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__applicationName__deployedRevisionNumber__proxyNameITargetName

Misalnya, string lengkap mungkin terlihat seperti ini:

apifactory__test__weatherapi__16__default__apiAccessToken
.

Catatan penggunaan

Gunakan kebijakan ini untuk penyimpanan cache tujuan umum. Saat runtime, kebijakan LookupCache mengambil dari cache, menetapkan nilai ke variabel yang Anda tentukan dengan elemen DefineTo (jika tidak ada nilai yang diambil, variabel tidak akan ditetapkan). Mencari nilai berdasarkan cache kunci yang dibuat melalui konfigurasi yang menggabungkan elemen CacheKey dan Scope. Dengan kata lain, {i>SUMIF<i} memiliki daftar sel untuk mengambil nilai tertentu yang ditambahkan ke cache dengan kebijakan PengisianCache, LookupCache Anda kebijakan harus memiliki elemen terkait kunci cache yang dikonfigurasi dengan cara yang sama seperti filledCache lebih lanjut.

Penyimpanan cache tujuan umum dengan kebijakan Isi Cache, Kebijakan LookupCache, dan kebijakan InvalidateCache menggunakan baik {i>cache<i} yang Anda konfigurasi atau {i> cache bersama<i} yang disertakan secara default. Dalam kebanyakan kasus, cache bersama yang mendasarinya akan memenuhi kebutuhan Anda. Untuk menggunakan cache default, cukup hilangkan elemen <CacheResource>.

Untuk informasi selengkapnya tentang cara mengonfigurasi cache, lihat Membuat dan mengedit lingkungan cache. Untuk mengetahui informasi selengkapnya tentang penyimpanan data pokok, lihat Cache internal.

Variabel flow

Variabel flow dapat digunakan untuk mengonfigurasi perilaku runtime dinamis untuk kebijakan dan alur, berdasarkan pada header HTTP atau konten pesan, atau konteks yang tersedia dalam Alur. Untuk informasi lebih lanjut tentang variabel alur, lihat Variabel .

Variabel Flow yang telah ditetapkan sebelumnya berikut tersedia setelah Anda menyesuaikan perilaku cache yang Anda tentukan dalam kebijakan LookupCache.

Variabel Jenis Izin Deskripsi
pencariancache.{nama-kebijakan}.nama-cache String Hanya Baca Menampilkan nama cache yang digunakan dalam kebijakan.
pencariancache.{nama-kebijakan}.cache String Hanya Baca Menampilkan kunci yang digunakan.
pencariancache.{nama-kebijakan}.cachehit Boolean Hanya Baca True jika kebijakan menemukan nilai untuk kunci cache yang ditentukan.
lookupcache.{policy-name}.assignto String Hanya Baca Menampilkan variabel yang diberi cache.

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
InvalidCacheResourceReference Error ini terjadi jika elemen <CacheResource> disetel ke nama yang tidak ada di lingkungan tempat proxy API di-deploy.
InvalidTimeout Jika elemen <CacheLookupTimeoutInSeconds> disetel ke angka negatif, deployment proxy API akan gagal.
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