LookupCache politikası

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

Önbelleğe alınan değerlerin çalışma zamanında nasıl alınacağını yapılandırır.

Bu politika, genel amaçlı kısa süreli önbelleğe alma işleminde kullanılmak üzere tasarlanmıştır. Kullanıldığı yer: Popülasyon oluştur Önbellek politikası (yazma girişleri için) ve Önbelleği Geçersiz Kılma politikası (girişleri geçersiz kılmak için).

Arka uç kaynaklarının yanıtlarını önbelleğe almak için bkz. Yanıt Önbelleği politikası.

Öğe referansı

Bu politikada yapılandırabileceğiniz öğeler aşağıda listelenmiştir.

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

Paylaşılan bir önbellek varsayılan olarak dahil edilir. Paylaşılan önbelleği kullanmak için Bu politika yapılandırmasında <CacheResource> öğesi var.

Temel veri deposu hakkında daha fazla bilgi edinmek için Önbellek dahili verileri bölümüne bakın. Yapılandırma hakkında daha fazla bilgi için daha fazla bilgi için ortam önbelleğinizdir.

&lt;LookupCache&gt; özellikler

Aşağıdaki tabloda tüm politika üst öğelerinde ortak olan özellikler açıklanmaktadır:

Özellik Açıklama Varsayılan Varlık
name

Politikanın dahili adı. name özelliğinin değeri Harf, sayı, boşluk, kısa çizgi, alt çizgi ve nokta içermelidir. Bu değer, 255 karakteri aşmalıdır.

İsteğe bağlı olarak, politikayı<DisplayName> yönetim arayüzü proxy düzenleyicisinde farklı bir doğal dil adı kullanabilir.

Yok Zorunlu
continueOnError

Bir politika başarısız olduğunda hata döndürmesi için false olarak ayarlayın. Bu beklenen bir durumdur çoğu politika için geçerli olur.

Akış yürütmenin bir politikadan sonra bile devam etmesi için true olarak ayarlayın başarısız olur.

false İsteğe bağlı
enabled

Politikayı uygulamak için true olarak ayarlayın.

Politikayı devre dışı bırakmak için false değerine ayarlayın. Bu politika, bir akışa bağlı kalsa bile uygulanır.

true İsteğe bağlı
async

Bu özelliğin desteği sonlandırıldı.

false Kullanımdan kaldırıldı

&lt;DisplayName&gt; öğe

Politikayı name özelliğine ek olarak farklı bir doğal dil adına sahip yönetim arayüzü proxy düzenleyicisi.

<DisplayName>Policy Display Name</DisplayName>
Varsayılan

Yok

Bu öğeyi çıkarırsanız politikanın name özelliğinin değeri: kullanılır.

Varlık İsteğe bağlı
Tür Dize

&lt;AssignTo&gt; öğe

Önbellek girişinin atandığı değişkeni, önbellek. Değişken yazılabilir olmalıdır. Önbellek araması, bir değer almazsa değişken ayarlanmayacak.

<AssignTo>variable_to_receive_cached_value</AssignTo>

Varsayılan:

Yok

Bulunma:

Zorunlu

Tür:

Dize

&lt;CacheKey&gt; öğe

Önbellekte depolanan bir veri parçasına yönelik benzersiz bir işaretçi yapılandırır.

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

Varsayılan:

Yok

Bulunma:

Zorunlu

Tür:

Yok

<CacheKey>, önbellek.

Çalışma zamanında, <KeyFragment> değerlerinin başına <Scope> öğe değeri veya <Prefix> değeri. Örneğin, sonuç, şu önbellek anahtarıyla sonuçlanır: UserToken__apiAccessToken__&lt;value_of_client_id&gt;:

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

<CacheKey> öğesini şununla birlikte kullanırsınız: <Prefix> ve <Scope>. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

&lt;CacheLookupTimeoutInSeconds&gt; öğe

Başarısız bir önbellek aramasının kaç saniye sonra bir değer olarak kabul edileceğini (saniye cinsinden) önbellekte yok. Bu durumda akış önbellekte olmayan yol boyunca devam eder.

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

Varsayılan:

30

Bulunma:

İsteğe bağlı

Tür:

Tamsayı

&lt;CacheResource&gt; öğe

Mesajların depolanacağı önbelleği belirtir.

Bu politika (ve karşılık gelen PopulateCache ve In VerifyCache politikaları), eklenen paylaşılan önbelleği kullanır.

<CacheResource>cache_to_use</CacheResource>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Önbellekleri yapılandırma hakkında daha fazla bilgi edinmek için Ortam oluşturma ve düzenleme önbellek hakkında daha fazla bilgi edinin.

&lt;CacheKey&gt;/&lt;KeyFragment&gt; öğe

Eşleştirme için bir ad alanı oluşturarak önbellek anahtarına eklenmesi gereken bir değeri belirtir yapılan istek.

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

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Yok

Bu bir anahtar (sağladığınız statik bir ad) veya bir değer ( bir değişkene referansta bulunması) gerekir. Belirtilen tüm parçalar birleştirilir (artı önek) önbellek anahtarını oluşturun.

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

<KeyFragment> öğesini şununla birlikte kullanırsınız: <Prefix> ve <Scope>. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

Özellikler

Özellik Tür Varsayılan Zorunlu Açıklama
referans dize Hayır

Değerin alınacağı değişken. Bu öğe içeriyorsa kullanılmamalıdır değişmez değer.

&lt;CacheKey&gt;/&lt;Prefix&gt; öğe

Önbellek anahtarı öneki olarak kullanılacak değeri belirtir.

<Prefix>prefix_string</Prefix>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Kendi değerinizi belirtmek istediğinizde <Scope> yerine bu değeri kullanın yerine <Scope> kullanabilirsiniz. Tanımlanmışsa <Prefix>, önbelleğe yazılan girişlerin başına önbellek anahtarı değerini ekler. CEVAP <Prefix> öğe değeri, <Scope> öğesini geçersiz kılar değer.

<Prefix> öğesini şununla birlikte kullanırsınız: <CacheKey> ve <Scope>. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

&lt;Scope&gt; öğe

<Prefix> anahtar kelimesi olduğunda önbellek anahtarı için bir önek oluşturmak üzere kullanılan numaralandırma öğesi, <CacheKey> öğesinde sağlanmamış.

<Scope>scope_enumeration</Scope>

Varsayılan:

"Özel"

Bulunma:

İsteğe bağlı

Tür:

Dize

<Scope> ayarı, <Scope> değeri. Örneğin, bir önbellek anahtarı aşağıdaki biçimi kullanarak kapsam Exclusive olarak ayarlanırsa : orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].

<CacheKey> içinde bir <Prefix> öğesi varsa <Scope> öğe değerinin yerini alır. Geçerli değerler numaralandırmaları içerir bölümüne göz atın.

<Scope> öğesini şununla birlikte kullanırsınız: <CacheKey> ve <Prefix>. Daha fazla bilgi için Önbellek anahtarlarıyla çalışma başlıklı makaleyi inceleyin.

Kabul edilebilir değerler

Global

Önbellek anahtarı, ortamda dağıtılan tüm API proxy'leri arasında paylaşılır. Önbellek anahtarı: orgName __ envName __ biçiminde eklenir.

<CacheKey> <KeyFragment> apiAccessToken ve <Global> kapsamı, her giriş orgName__envName__apiAccessToken olarak depolanır ve ardından, erişim jetonunun serileştirilmiş değeri. Bir ortamda dağıtılan bir API proxy'si için: "test" [test] erişim kodları, "apifactory" adlı bir kuruluşta şu önbellek anahtarı: apifactory__test__apiAccessToken.

Application

API proxy adı ön ek olarak kullanılıyor.

Önbellek anahtarı formun başına eklendi orgName__envName__applicationName.

Proxy

ProxyEndpoint yapılandırması ön ek olarak kullanılır.

Önbellek anahtarı formun başına eklendi orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName ,

Target

Ön ek olarak TargetEndpoint yapılandırması kullanılıyor.

Formun başına eklenmiş önbellek anahtarı orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName ,

Exclusive

Varsayılan. Bu, en spesifik olanıdır ve bu nedenle ad alanı açısından minimum risk sunar. çakışmalarını ön plana çıkarır.

Önek iki biçimden biridir:

  • Politika ProxyEndpoint akışına bağlıysa önek ApiProxyName_ProxyEndpointName oluşturun.
  • Politika TargetEndpoint konumuna eklenirse önek biçimdedir ApiProxyName_TargetName.

Formun başına eklenmiş önbellek anahtarı orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName

Örneğin, tam dize aşağıdaki gibi görünebilir:

apifactory__test__weatherapi__16__default__apiAccessToken
.

Kullanım notları

Genel amaçlı önbelleğe alma için bu politikayı kullanın. Çalışma zamanında, LookupCache politikası, değeri Atama öğesiyle belirttiğiniz değişkene atayarak (hiçbir değer alınmazsa değişken ayarlanmaz). Önbelleğe alınan değeri arar CacheKey ve Scope öğelerini birleştiren yapılandırma ile oluşturulan anahtar. Başka bir deyişle, bir PopulateCache politikası tarafından önbelleğe eklenen belirli bir değeri, LookupCache politikası, önbellek anahtarıyla ilgili öğeleri PopulateCache ile aynı şekilde yapılandırılmış olmalıdır politikası.

Önbelleği Doldur politikası ile genel amaçlı önbelleğe alma, LookupCache politikası ve In VerifyCache politikası, yapılandırdığınız bir önbellek veya varsayılan olarak eklenmiş paylaşılan bir önbellek. Çoğu durumda temel paylaşılan önbelleğin ihtiyaçlarınızı karşılaması gerekir. Varsayılan önbelleği kullanmak için <CacheResource> öğesi.

Önbellekleri yapılandırma hakkında daha fazla bilgi edinmek için Ortam oluşturma ve düzenleme önbellek hakkında daha fazla bilgi edinin. Temel veri deposu hakkında daha fazla bilgi edinmek için Önbellek dahili verileri bölümüne bakın.

Akış değişkenleri

Akış değişkenleri, kullanıcının isteğine bağlı olarak politikalar ve akışlar için dinamik çalışma zamanı davranışını yapılandırmak veya Akıştaki bağlam bilgisine göre değişiklik gösterir. Okuyucu Gelirleri Yöneticisi'ni hakkında daha fazla bilgi için Değişkenler referans.

Aşağıdaki önceden tanımlanmış Akış değişkenleri, bir LookupCache politikasında tanımladığınız önbellek.

Değişkenler Tür İzin Açıklama
lookupcache.{politika-adı}.önbellekadı Dize Salt Okunur Politikada kullanılan önbellek adını döndürür.
lookupcache.{politika-adı}.cachekey Dize Salt Okunur Kullanılan anahtarı döndürür.
lookupcache.{politika-adı}.cachehit Boole Salt Okunur Politika, belirtilen önbellek anahtarı için bir değer bulduysa doğru değerini alır.
lookupcache.{policy-name}.assignto Dize Salt Okunur Önbelleğin atandığı değişkeni döndürür.

Hata kodları

Bu bölümde, bu politika bir hatayı tetiklediğinde ayarlanan hata mesajları ve akış değişkenleri açıklanmaktadır. Bu bilgiler, bir proxy için hata kuralları geliştirip geliştirmediğinizi bilmeniz önemlidir. Daha fazla bilgi için Politika hataları hakkında bilmeniz gerekenler ve Hataları işleme bölümlerine bakın.

Hata kodu öneki

Yok

Çalışma zamanı hataları

Bu politika, çalışma zamanı hatası bildirmez.

Dağıtım hataları

Bu hatalar, bu politikayı içeren bir proxy dağıttığınızda ortaya çıkabilir.

Hata adı Neden Düzelt
InvalidCacheResourceReference Bu hata, <CacheResource> öğesi API proxy'sinin dağıtıldığı ortamda bulunmayan bir ada ayarlanırsa ortaya çıkar.
InvalidTimeout <CacheLookupTimeoutInSeconds> öğesi negatif bir sayıya ayarlanırsa API proxy'sinin dağıtımı başarısız olur.
CacheNotFound Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar.

Hata değişkenleri

Yok

Örnek hata yanıtı

Yok