InvalidateCache politikası

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

Önbelleğe alınan değerlerin önbellekten nasıl silineceğini 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 Arama Önbelleği politikası (önbellek girişlerini okumak 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.

<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name">
    <DisplayName>Policy Name</DisplayName>
    <CacheKey>
        <Prefix>prefix_string</Prefix>
        <KeyFragment ref="variable_reference"/>
        <KeyFragment>fragment_string</KeyFragment>
    </CacheKey>
    <!-- Omit this element if you're using the included shared cache. -->
    <CacheResource>cache_to_use</CacheResource>
    <Scope>scope_enumeration</Scope>
    <CacheContext>
        <APIProxyName>application_that_added_the_entry</APIProxyName>
        <ProxyName>proxy_for_which_data_was_cached</ProxyName>
        <TargetName>endpoint_for_which_data_was_cached</TargetName>
    </CacheContext>
    <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries>
</InvalidateCache>

&lt;InvalidateCache&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;CacheContext&gt;/&lt;APIProxyName&gt; öğe

Önbellek girişini ekleyen uygulamanın adını belirtir.

<APIProxyName>application_that_added_the_entry</APIProxyName>

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
referans Uygulama adına sahip değişken. Yok İsteğe bağlı Dize

&lt;CacheContext&gt; öğe

Bir Prefix öğesi değeri geçerli olmadığında önbellek anahtarının nasıl oluşturulacağını belirtir veya başka bir API proxy'si tarafından eklenen önbellek girişlerini temizlemek için kullanılabilir.

<CacheContext>
  <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName>
  <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName>
  <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName>
</CacheContext>

CacheKey'i oluşturmak için kullanılır. APIProxyName, ProxyName ve TargetName değerleri: Önbellek girişlerini temizlemek için Önbellek Anahtarı ön eki (yani özel bir önek) kullanılmadığında zorunludur başka bir API proxy'si tarafından eklenmiş.

&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;CacheResource&gt; öğe

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

Bu politika (ve karşılık gelen PopulateCache ve LookupCache 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 Açıklama Varsayılan Varlık Tür
referans Değerin alınacağı değişken. Bu öğe şunu içeriyorsa kullanılmamalıdır: değişmez değer. Yok İsteğe bağlı Dize

&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;CacheContext&gt;/&lt;ProxyName&gt; öğe

Verilerin önbelleğe alındığı proxy'nin adını belirtir.

<ProxyName>proxy_for_which_data_was_cached</ProxyName>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
referans Değerin alınacağı değişken. Bu öğe şunu içeriyorsa kullanılmamalıdır: değişmez değer. Yok İsteğe bağlı Dize

&lt;PurgeChildEntries&gt; öğe

true Bu politika için <KeyFragment> öğesi yapılandırıldı. <Prefix> öğelerindeki gibi önbellek anahtarı dikkate alınmaz.

<KeyFragment> öğesinin belirtilmesi gerektiğini unutmayın. Değilse <PurgeChildEntries> için true (doğru) olarak ayarlandığında, önbellek.

Aynı anahtar parçası değerine ait tüm önbellek girişlerini geçersiz kılmak, ilgili birden fazla girişi aynı anda tamamen sil.

<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>

Varsayılan:

false

Bulunma:

İsteğe bağlı

Tür:

Boole

&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 ayarlandı:

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

Kapsam Değeri Açıklama
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
.

&lt;CacheContext&gt;/&lt;TargetName&gt; öğe

Verilerin önbelleğe alındığı hedef uç noktanın adını belirtir.

<TargetName>endpoint_for_which_data_was_cached</TargetName>

Varsayılan:

Yok

Bulunma:

İsteğe bağlı

Tür:

Dize

Özellikler

Özellik Açıklama Varsayılan Varlık Tür
referans Değerin alınacağı değişken. Bu öğe şunu içeriyorsa kullanılmamalıdır: değişmez değer. Yok İsteğe bağlı Dize

Kullanım notları

Populate Cache politikası, LookupCache politikası ile genel amaçlı önbelleğe alma ve In VerifyCache politikası, yapılandırdığınız bir önbelleği veya varsayılandır. Çoğu durumda, temel paylaşılan önbellek ihtiyaçlarınızı karşılamalıdır. Bu önbelleği kullanmak için <CacheResource> öğesini çıkarmanız yeterlidir.

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

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, InValidateCache politikasındaki <CacheResource> öğesi, API proxy'sinin dağıtıldığı ortamda var olmayan bir ada ayarlanırsa bu hata oluşur.
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