Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Önbelleğe alınan değerlerin çalışma zamanında nasıl alınması gerektiğini yapılandırır.
Bu politika, genel amaçlı kısa süreli önbelleğe almada kullanılmak üzere tasarlanmıştır. Önbelleği Doldur politikası (girişleri yazmak için) ve Önbelleği Geçersiz Kılma politikasıyla (girişleri geçersiz kılmak için) 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 edinmek için Dahili verileri önbelleğe alma konusuna bakın. Önbellekleri yapılandırma hakkında daha fazla bilgi edinmek için Ortam önbelleği oluşturma ve düzenleme bölümüne bakın.
<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ı yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı bir doğal dil adıyla etiketlemek için |
Yok | Gerekli |
continueOnError |
Bir politika başarısız olduğunda hata döndürülmesi için Bir politika başarısız olduktan sonra bile akış yürütülmesinin 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 özellik kullanımdan kaldırıldı. |
false | Kullanımdan kaldırıldı |
<DisplayName> öğesi
Politikayı, yönetim kullanıcı arayüzü proxy düzenleyicisinde farklı bir doğal dil adıyla etiketlemek için name
özelliğine ek olarak kullanın.
<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
Önbellek girişinin önbellekten alındıktan sonra atandığı değişkeni belirtir. Değişken yazılabilir olmalıdır. Önbellek araması bir değer almazsa değişken ayarlanmaz.
<AssignTo>variable_to_receive_cached_value</AssignTo>
Varsayılan: |
Yok |
Bulunma: |
Gerekli |
Tür: |
Dize |
<CacheKey> öğesi
Ö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: |
Gerekli |
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ğıdaki durum 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 bölümüne bakın.
<CacheLookupTimeoutInSeconds> öğesi
Başarısız bir önbellek aramasının kaç saniye sonra "önbellek yok" şeklinde algılanacağını belirtir. Böyle bir durumda akış, önbellek eksikliği yolu boyunca devam eder.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
Varsayılan: |
30 |
Bulunma: |
İsteğe bağlı |
Tür: |
Tamsayı |
<CacheResource> öğesi
İletilerin depolanacağı önbelleği belirtir.
Bu politika (ve ilgili PopulateCache ile InValidateCache politikalarınız) paylaşılan önbelleği kullanıyorsa bu öğeyi tamamen atlayı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 edinmek için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleye bakın.
<CacheKey>/<KeyFragment> öğesi
Önbellek anahtarına eklenmesi gereken bir değeri belirterek istekleri önbelleğe alınan yanıtlarla eşleştirmek 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 ad) veya bir değer (bir değişkene başvurularak ayarlanan dinamik giriş) olabilir. Belirtilen tüm parçalar (ve ön ek) birlikte önbellek anahtarını oluşturmak için birleştirilir.
<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 bölümüne bakın.
Özellikler
Özellik | Tür | Varsayılan | Gerekli | Açıklama |
---|---|---|---|---|
referans | 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ğer belirtir.
<Prefix>prefix_string</Prefix>
Varsayılan: |
Yok |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
<Scope>
ile numaralanmış bir değer yerine kendi değerinizi belirtmek istediğinizde <Scope>
yerine bu değeri kullanın. Tanımlanırsa <Prefix>
, önbelleğe yazılan girişlerin önbellek anahtarı değerinin başına ekler. <Prefix>
öğesi 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 bölümüne bakın.
<Scope> öğesi
<CacheKey>
öğesinde bir <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" |
Bulunma: |
İsteğe bağlı |
Tür: |
Dize |
<Scope>
ayarı, <Scope>
değerinin başına eklenen bir önbellek anahtarı belirler. Örneğin, kapsam Exclusive
olarak ayarlandığında önbellek anahtarı şu biçimde olur:
orgName__envName__applicationName__distributionedRevisionNumber__proxy|TargetName__
[ serializedCacheKey ].
<CacheKey>
özelliğinde bir <Prefix>
öğesi varsa <Scope>
öğe değerinin yerini alır. 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 bölümüne bakın.
Kabul edilebilir değerler
Global |
Önbellek anahtarı, ortamda dağıtılan tüm API proxy'leri arasında paylaşılır. Önbellek anahtarı başına orgName __ envName __ biçiminde eklenir.
|
Application |
API proxy adı önek olarak kullanılır. Önbellek anahtarı, orgName__envName__applicationName şeklinde eklenir. |
Proxy |
Ön ek olarak ProxyEndpoint yapılandırması kullanılır. Önbellek anahtarı, orgName__envName__applicationName__DeployedRevisionNumber__proxyEndpointName şeklinde eklenir. |
Target |
Önek olarak TargetEndpoint yapılandırması kullanılıyor. Önbellek anahtarı başına orgName__envName__applicationName__distributionedRevisionNumber__targetEndpointName şeklinde eklenir. |
Exclusive |
Varsayılan. En spesifik olan budur ve bu nedenle belirli bir önbellek içinde ad alanı çakışması riski minimum düzeydedir. Önek iki biçimden biridir:
Önbellek anahtarı başına orgName__envName__applicationName__DeployedRevisionNumber__proxyNameITargetName şeklinde eklenir. Ö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ı, önbellekten bir değer alarak bu değeri Atato öğesiyle belirttiğiniz değişkene atar (hiçbir değer alınmazsa değişken ayarlanmaz). CacheKey ve Scope öğelerini birleştiren bir yapılandırma aracılığıyla oluşturulmuş bir önbellek anahtarını temel alan 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 ilişkili öğelerin PopulateCache politikasıyla aynı şekilde yapılandırılmış olması gerekir.
Önbelleği Doldur politikası, LookupCache politikası ve InValidateCache politikası ile genel amaçlı önbelleğe alma işlemi, yapılandırdığınız bir önbelleği veya varsayılan olarak dahil edilen paylaşılan bir önbelleği kullanır. Çoğu durumda, altta yatan paylaşılan önbellek ihtiyaçlarınızı karşılamalıdır. Varsayılan önbelleği kullanmak için <CacheResource>
öğesini çıkarmanız yeterlidir.
Önbellekleri yapılandırma hakkında daha fazla bilgi edinmek için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleye bakın. Temel veri deposu hakkında daha fazla bilgi edinmek için Dahili verileri önbelleğe alma konusuna bakın.
Akış değişkenleri
Akış değişkenleri, HTTP üstbilgileri, mesaj içeriği veya Akış'ta bulunan bağlama göre politikalar ve akışlar için dinamik çalışma zamanı davranışını yapılandırmak amacıyla kullanılabilir. Akış değişkenleri hakkında daha fazla bilgi için Değişkenler referansı bölümüne bakın.
LookupCache politikasında tanımladığınız önbelleğin davranışını özelleştirdikten sonra aşağıdaki önceden tanımlanmış Akış değişkenleri kullanılabilir.
Değişkenler | Tür | İzin | Açıklama |
---|---|---|---|
searchcache.{politika-adı}.cachename | Dize | Salt Okunur | Politikada kullanılan önbellek adını döndürür. |
searchcache.{politika-adı}.cachekey | Dize | Salt Okunur | Kullanılan anahtarı döndürür. |
searchcache.{politika-adı}.cachehit | Boole | Salt Okunur | Politika, belirtilen önbellek anahtarı için bir değer bulduysa doğru değerini alır. |
searchcache.{politika-adı}.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