LookupCache politikası

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Önbelleğe alınmış 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şlemlerinde kullanılmak üzere tasarlanmıştır. Bu politika, Önbelleği Doldurma Politikası (girişleri yazmak için) ve Önbelleği Geçersiz Kılma Politikası (girişleri geçersiz kılmak için) ile birlikte kullanılır.

Arka uç kaynaklarının yanıtlarını önbelleğe alma hakkında bilgi edinmek için Response Cache politikasına bakın.

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

Varsayılan olarak paylaşılan bir önbellek bulunur. Paylaşılan önbelleği kullanmak için bu politika yapılandırmasında <CacheResource> öğesini atlayın.

Temel alınan veri deposu hakkında daha fazla bilgi için Önbellek iç işleyişi başlıklı makaleyi inceleyin. Önbellekleri yapılandırma hakkında daha fazla bilgi için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleyi inceleyin.

<LookupCache> özellikleri

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

<AssignTo> öğesi

Önbellek girişi, önbellekten alındıktan sonra atanacağı değişkeni belirtir. Değişken yazılabilir olmalıdır. Önbellek aramasında bir değer alınmazsa değişken ayarlanmaz.

<AssignTo>variable_to_receive_cached_value</AssignTo>

Varsayılan:

Yok

Mevcut olma:

Zorunlu

Tür:

Dize

<CacheKey> öğesi

Önbellekte depolanan bir veri parçasına 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

Mevcut olma:

Zorunlu

Tür:

Yok

<CacheKey>, önbellekte depolanan her veri parçasının adını oluşturur.

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

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

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

<CacheLookupTimeoutInSeconds> öğesi

Başarısız bir önbellek aramasının önbellekte yok olarak kabul edileceği süreyi saniye cinsinden belirtir. Bu durumda akış, önbellekte yok yolu boyunca devam eder.

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

Varsayılan:

30

Mevcut olma:

İsteğe bağlı

Tür:

Tamsayı

<CacheResource> öğesi

İletilerin depolanması gereken önbelleği belirtir.

Bu politika (ve ilgili PopulateCache ve InvalidateCache politikalarınız) paylaşılan önbelleği kullanıyorsa bu öğeyi tamamen atlayın.

<CacheResource>cache_to_use</CacheResource>

Varsayılan:

Yok

Mevcut olma:

İsteğe bağlı

Tür:

Dize

Önbellekleri yapılandırma hakkında daha fazla bilgi için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleyi inceleyin.

<CacheKey>/<KeyFragment> öğesi

Önbelleğe alınmış yanıtlara isteklerin eşleştirilmesi için bir ad alanı oluşturarak önbellek anahtarına dahil edilmesi gereken bir değeri belirtir.

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

Varsayılan:

Yok

Mevcut olma:

İsteğe bağlı

Tür:

Yok

Bu, bir anahtar (sizin sağladığınız statik bir ad) veya bir değer (bir değişkene referans verilerek ayarlanan dinamik bir giriş) olabilir. Belirtilen tüm parçalar (ön ekle birlikte) birleştirilerek önbellek anahtarı oluşturulur.

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

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

Özellikler

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

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

<CacheKey>/<Prefix> öğesi

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

<Prefix>prefix_string</Prefix>

Varsayılan:

Yok

Mevcut olma:

İsteğe bağlı

Tür:

Dize

<Scope> ile numaralandırılmış bir değer yerine kendi değerinizi belirtmek istediğinizde <Scope> yerine bu değeri kullanın. Tanımlanmışsa, <Prefix>, önbelleğe yazılan girişler için önbellek anahtarı değerinin başına eklenir. <Prefix> öğe değeri, <Scope> öğe değerini geçersiz kılar.

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

<Scope> öğesi

<CacheKey> öğesinde <Prefix> öğesi sağlanmadığında önbellek anahtarı için bir önek oluşturmak üzere kullanılan numaralandırma.

<Scope>scope_enumeration</Scope>

Varsayılan:

"Özel"

Mevcut olma:

İsteğe bağlı

Tür:

Dize

<Scope> ayarı, <Scope> değerine göre önüne eklenen bir önbellek anahtarı belirler. Örneğin, kapsam Exclusive olarak ayarlandığında bir önbellek anahtarı şu biçimi alır: orgName__envName__applicationName__proxy|TargetName__ [ serializedCacheKey ].

<CacheKey> içinde bir <Prefix> öğesi varsa bu öğe, <Scope> öğesi değerinin yerine geçer. Geçerli değerler aşağıdaki numaralandırmaları içerir.

<Scope> öğesini <CacheKey> ve <Prefix> ile birlikte kullanırsınız. 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> girişini <KeyFragment> apiAccessToken ve <Global> kapsamıyla tanımlarsanız her giriş, orgName__envName__apiAccessToken olarak depolanır ve ardından erişim jetonunun serileştirilmiş değeri gelir. "apifactory" adlı bir kuruluşta "test" adlı bir ortamda dağıtılan bir API proxy'si için erişim jetonları aşağıdaki önbellek anahtarı altında saklanır: apifactory__test__apiAccessToken.

Application

API proxy adı, önek olarak kullanılır.

Önbellek anahtarı, orgName__envName__applicationName biçiminde önceden eklenir.

Proxy

ProxyEndpoint yapılandırması, önek olarak kullanılır.

Önbellek anahtarı, orgName__envName__applicationName__proxyEndpointName biçiminde önceden eklenir. .

Target

TargetEndpoint yapılandırması, önek olarak kullanılır.

Önüne aşağıdaki biçimde önbellek anahtarı eklenir: orgName__envName__applicationName__targetEndpointName .

Exclusive

Varsayılan. Bu, en belirgin olanıdır ve bu nedenle belirli bir önbellekte ad alanı çakışması riskini en aza indirir.

Önek iki biçimden birinde olabilir:

  • Politika ProxyEndpoint akışına eklenirse ön ek ApiProxyName_ProxyEndpointName biçiminde olur.
  • Politika TargetEndpoint konumunda eklenirse önek ApiProxyName_TargetName biçiminde olur.

Önbellek anahtarı, şu biçimde eklenir: orgName__envName__applicationName__proxyNameITargetName

Örneğin, tam dize şu şekilde görünebilir:

apifactory__test__weatherapi__16__default__apiAccessToken
.

Kullanım notları

Bu politikayı genel amaçlı önbelleğe alma için kullanın. LookupCache politikası, çalışma zamanında önbellekten bir değer alır ve değeri AssignTo öğesiyle belirttiğiniz değişkene atar (değer alınmazsa değişken ayarlanmaz). CacheKey ve Scope öğelerini birleştiren yapılandırma aracılığıyla oluşturulan bir önbellek anahtarına göre değeri arar. Diğer bir deyişle, bir PopulateCache politikası tarafından önbelleğe eklenen belirli bir değeri almak için LookupCache politikanızda önbellek anahtarıyla ilgili öğeler, PopulateCache politikasıyla aynı şekilde yapılandırılmalıdır.

PopulateCache politikası, LookupCache politikası ve InvalidateCache politikası ile genel amaçlı önbelleğe alma, yapılandırdığınız bir önbelleği veya varsayılan olarak dahil edilen paylaşılan bir önbelleği kullanır. Çoğu durumda, temel alınan paylaşılan önbellek ihtiyaçlarınızı karşılar. Varsayılan önbelleği kullanmak için <CacheResource> öğesini atlamanız yeterlidir.

Önbellekleri yapılandırma hakkında daha fazla bilgi için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleyi inceleyin. Temel alınan veri deposu hakkında daha fazla bilgi için Önbellek iç işleyişi başlıklı makaleyi inceleyin.

Akış değişkenleri

Akış değişkenleri, politikalar ve akışlar için HTTP üstbilgilerine, ileti içeriğine veya akışta bulunan bağlama göre dinamik çalışma zamanı davranışı yapılandırmak için kullanılabilir. Akış değişkenleri hakkında daha fazla bilgi için Değişkenler referansı başlıklı makaleyi inceleyin.

Aşağıdaki önceden tanımlanmış akış değişkenleri, LookupCache politikasında tanımladığınız önbelleğin davranışını özelleştirdikten sonra kullanılabilir.

Değişkenler Tür İzin Açıklama
lookupcache.{policy-name}.cachename Dize Salt Okunur Politikada kullanılan önbellek adını döndürür.
lookupcache.{policy-name}.cachekey Dize Salt Okunur Kullanılan anahtarı döndürür.
lookupcache.{policy-name}.cachehit Boole Salt Okunur Politika, belirtilen önbellek anahtarı için bir değer bulursa doğru (True) değerini döndürü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