Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. info
Ö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şlemlerinde kullanılmak üzere tasarlanmıştır. Önbelleği doldurma politikası (giriş 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 almak için Yanıt Önbelleği Politikası'na bakın.
Öğe referansı
Aşağıda, bu politikada yapılandırabileceğiniz öğeler 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 önbellek varsayılan olarak eklenir. Paylaşılan önbelleği kullanmak için bu politika yapılandırmasında <CacheResource>
öğesini çıkarın.
Temel veri deposu hakkında daha fazla bilgi için Önbelleğin iç işleyiş mekanizması 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ı. İsteğe bağlı olarak, politikayı |
Yok | Zorunlu |
continueOnError |
Bir politika başarısız olduğunda hata döndürmesi için Akış yürütmenin bir politikadan sonra bile devam etmesi için |
false | İsteğe bağlı |
enabled |
Politikayı uygulamak için Politikayı devre dışı bırakmak için |
true | İsteğe bağlı |
async |
Bu özelliğin desteği sonlandırıldı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğ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 |
---|---|
Varlık | İsteğe bağlı |
Tür | Dize |
<AssignTo> öğesi
Önbellekten alındıktan sonra önbellek girişinin atandığı değişkeni belirtir. Değişken yazılabilir olmalıdır. Önbelleğe göz atma işlemi bir değer döndürmezse değişken ayarlanmaz.
<AssignTo>variable_to_receive_cached_value</AssignTo>
Varsayılan: |
Yok |
Bulunma: |
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 |
Bulunma: |
Zorunlu |
Tür: |
Yok |
<CacheKey>
, önbellekte saklanan her veri parçasının adını oluşturur.
Çalışma zamanında <KeyFragment>
değerlerine <Scope>
öğesi değeri veya <Prefix>
değeri eklenir. Örneğin, aşağıdaki kod UserToken__apiAccessToken__
<value_of_client_id> önbelleğe alınmış 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 kaç saniye sonra önbellek kaçırması olarak değerlendirileceğini belirtir. Bu durumda akış, önbellek kaçırma yolunda devam eder.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
Varsayılan: |
30 |
Bulunma: |
İsteğe bağlı |
Tür: |
Tamsayı |
<CacheResource> öğesi
Mesajların saklanacağı önbelleği belirtir.
Bu politika (ve ilgili PopulateCache ve InvalidateCache politikalarınız) dahili paylaşılan önbelleği kullanıyorsa bu öğeyi tamamen çıkarın.
<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 için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleyi inceleyin.
<CacheKey>/<KeyFragment> öğesi
Önbelleğe anahtarına dahil edilmesi gereken bir değeri belirtir. Bu değer, isteklerin önbelleğe alınmış yanıtlarla eşleştirilmesi için bir ad alanı oluşturur.
<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 değer (bir değişkene referans vererek ayarlanan dinamik giriş) olabilir. Önek de dahil olmak üzere belirtilen tüm parçalar birleştirilerek önbelleğe alma 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 değer içeriyorsa kullanılmamalıdır. |
<CacheKey>/<Prefix> öğesi
Önbellek anahtarı ön eki olarak kullanılacak bir değeri belirtir.
<Prefix>prefix_string</Prefix>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
<Scope>
- listelenen 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 önbelleğe anahtar değerini ekler. <Prefix>
öğesi değeri, <Scope>
öğesi 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 önbelleğe alma anahtarı için önek oluşturmak amacıyla kullanılan listeleme.
<Scope>scope_enumeration</Scope>
Varsayılan: |
"Özel" |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
<Scope>
ayarı, <Scope>
değerine göre ön ek olarak eklenen bir önbellek anahtarı belirler. Örneğin, kapsam Exclusive
olarak ayarlandığında bir önbellek anahtarı aşağıdaki biçimi alır:
orgName__envName__applicationName__proxy|TargetName__
[ serializedCacheKey ].
<CacheKey>
içinde bir <Prefix>
öğesi varsa bu öğe, <Scope>
öğesi değerinin yerini alır. Geçerli değerler aşağıdaki listelemelerin yanı sıra
<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ı, ortama dağıtılan tüm API proxy'leri arasında paylaşılır. Önbellek anahtarı, orgName __ envName __ biçiminde eklenir.
|
Application |
Ön ek olarak API proxy adı kullanılır. Önbelleğe alma anahtarı, orgName__envName__applicationName biçiminde eklenir. |
Proxy |
Ön ek olarak ProxyEndpoint yapılandırması kullanılır. Önbelleğe alma anahtarı, orgName__envName__applicationName__proxyEndpointName biçiminde eklenir. |
Target |
Ön ek olarak TargetEndpoint yapılandırması kullanılır. orgName__envName__applicationName__targetEndpointName biçiminde eklenmiş önbelleğe alma anahtarı . |
Exclusive |
Varsayılan. Bu, en spesifik olanıdır ve bu nedenle belirli bir önbellekte ad alanı çakışması riski minimumdur. Ön ek iki biçimden biri olabilir:
Önbelleğe alma anahtarı şu şekilde eklenir: orgName__envName__applicationName__proxyNameITargetName Örneğin, dizenin tamamı şu şekilde görünebilir: apifactory__test__weatherapi__16__default__apiAccessToken |
Kullanım notları
Genel amaçlı önbelleğe alma için bu politikayı kullanın. LookupCache politikası, çalışma zamanında önbellekten bir değer alır ve bu değeri AssignTo öğesiyle belirttiğiniz değişkene atar (hiçbir değer alınmazsa değişken ayarlanmaz). CacheKey ve Scope öğelerini birleştiren yapılandırma aracılığıyla oluşturulan bir önbelleğe alma anahtarına göre değeri arar. Diğer bir deyişle, PopulateCache politikası tarafından önbelleğe eklenen belirli bir değeri almak için LookupCache politikanızda, önbelleğe anahtarıyla ilgili öğelerin PopulateCache politikasıyla aynı şekilde yapılandırılmış olması gerekir.
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 çıkarmanı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 veri deposu hakkında daha fazla bilgi için Önbelleğin iç işleyiş mekanizması başlıklı makaleyi inceleyin.
Akış değişkenleri
Akış değişkenleri, HTTP üstbilgilerine, mesaj içeriğine veya akışta mevcut olan bağlama göre politikalar ve akışlar için dinamik çalışma zamanı davranışını 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ış Flow değişkenleri, bir 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 bulduysa doğru 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. |
build |
InvalidTimeout |
<CacheLookupTimeoutInSeconds> öğesi negatif bir sayıya ayarlanırsa API proxy'sinin dağıtımı başarısız olur. |
build |
CacheNotFound |
Bu hata, hata mesajında bahsedilen belirli önbellek belirli bir Mesaj İşleyici bileşeninde oluşturulmamışsa ortaya çıkar. | build |
Hata değişkenleri
Yok
Örnek hata yanıtı
Yok