InvalidateCache politikası

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
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 almada kullanılmak üzere tasarlanmıştır. Önbelleği Doldur politikası (girişleri yazmak için) ve Lookup Cache politikasıyla (önbellek girişlerini okumak 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.

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

<InValidateCache> ö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çerebilir. Bu değer 255 karakterden uzun olamaz.

İ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 <DisplayName> öğesini kullanın.

Yok Gerekli
continueOnError

Bir politika başarısız olduğunda hata döndürülmesi için false olarak ayarlayın. Bu, çoğu politika için beklenen davranıştır.

Bir politika başarısız olduktan sonra bile akış yürütülmesinin devam etmesi için true değerine ayarlayın.

false İsteğe bağlı
enabled

Politikayı uygulamak için true değerine ayarlayın.

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

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 name özelliğinin değeri kullanılır.

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

<CacheContext>/<APIProxyName> öğesi

Ö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ını içeren değişken. Yok İsteğe bağlı Dize

<CacheContext> öğesi

Prefix öğe değeri belirtilmediğinde önbellek anahtarının nasıl oluşturulacağını veya başka bir API proxy'si tarafından eklenen önbellek girişlerinin nasıl temizleneceğini belirtir.

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

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

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

<CacheResource> öğesi

İletilerin depolanacağı önbelleği belirtir.

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

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

<CacheContext>/<ProxyName> öğesi

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 değişmez değer içeriyorsa kullanılmamalıdır. Yok İsteğe bağlı Dize

<PurgeChildEntries> öğesi

Bu politika için yapılandırılmış bir <KeyFragment> öğesi tarafından ayarlanan değeri paylaşan önbellek girişlerini tamamen silmek için true. Önbellek anahtarının diğer bölümlerindeki (ör. <Prefix> öğeleri) değerler dikkate alınmaz.

<KeyFragment> öğesinin belirtilmesi gerektiğini unutmayın. Aksi takdirde <PurgeChildEntries> için true (doğru) olarak ayarlanması, önbellekteki tüm girişlerin kalıcı olarak silinmesine neden olabilir.

Aynı anahtar parçası değerine ait önbellek girişlerinin tümünü geçersiz kılmak, aynı anda birden fazla ilgili girişi kalıcı olarak silmek açısından faydalı bir yöntem olabilir.

<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>

Varsayılan:

false

Bulunma:

İsteğe bağlı

Tür:

Boole

<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ı aşağıdaki biçimi alır:

orgName__envName__applicationName__ Olarak Dağıtılan RevisionNumber__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

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

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

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:

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

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

<CacheContext>/<TargetName> öğesi

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 değişmez değer içeriyorsa kullanılmamalıdır. Yok İsteğe bağlı Dize

Kullanım notları

Önbelleği Doldur 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 bir paylaşılan önbelleği kullanır. Çoğu durumda, altta yatan 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 ö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.

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