Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Önbelleğe alınan değerlerin çalışma zamanında nasıl yazılması gerektiğini yapılandırır.
Önbelleği Doldur politikası, girişleri kısa süreli genel amaçlı önbellekte yazmak için tasarlanmıştır. Arama işlevi, Lookup Önbellek politikası (önbellek girişlerini okumak için) ve Önbellek politikasını geçersiz kılma (girişleri geçersiz kılmak 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.
<PopulateCache async="false" continueOnError="false" enabled="true" name="Populate-Cache-1"> <DisplayName>Populate Cache 1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref=""/> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource/> <Scope>Exclusive</Scope> <ExpirySettings> <TimeoutInSeconds>300</TimeoutInSeconds> </ExpirySettings> <Source>flowVar</Source> </PopulateCache>
<PopulateCache> ö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ı. İ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 |
<CacheKey> öğe
Önbellekte depolanan bir veri parçasına yönelik benzersiz bir işaretçi yapılandırır.
Önbellek anahtarları 2 KB boyutuyla sınırlıdı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__
<value_of_client_id>:
<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.
<CacheResource> öğe
Mesajların depolanacağı önbelleği belirtir.
Bu politika (ve karşılık gelen LookupCache ve In VerifyCache 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.
<CacheKey>/<KeyFragment> öğ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 | Tür | Varsayılan | Zorunlu | Açıklama |
---|---|---|---|---|
referans | dize | Hayır |
Değerin alınacağı değişken. Bu öğe içeriyorsa kullanılmamalıdır değişmez değer. |
<CacheKey>/<Prefix> öğ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.
<ExpirySettings> öğe
Önbellek girişinin ne zaman sona ereceğini belirtir. Zaman
mevcut, <TimeoutInSeconds>
geçersiz kılma
hem <TimeOfDay>
hem de <ExpiryDate>
.
<ExpirySettings> <!-- use exactly one of the following child elements --> <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds> <ExpiryDate ref="date_variable">expiration_date</ExpiryDate> <TimeOfDay ref="time_variable">expiration_time</TimeOfDay> </ExpirySettings>
Varsayılan: |
Yok |
Bulunma: |
Zorunlu |
Tür: |
Yok |
<ExpirySettings>
alt öğeleri
Tam olarak bir alt öğe kullanın. Aşağıdaki tabloda,
<ExpirySettings>
:
Alt Öğe | Açıklama |
---|---|
<TimeoutInSeconds> |
Önbellek girişinin süresinin dolacağı saniye sayısı. <ExpirySettings> <TimeoutInSeconds ref="var-containing-duration">expiry</TimeoutInSeconds> </ExpirySettings> Bu öğe, desteği sonlandırılan |
<ExpiryDate> |
Önbellek girişinin süresinin dolacağı tarihi belirtir. Formda bir dize belirtin
<ExpirySettings> <ExpiryDate ref="var-containing-date">expiry</ExpiryDate> </ExpirySettings> Belirtilen tarih geçmişteyse politika giriş için maksimum geçerlilik süresidir. Bu maksimum 30 gündür. |
<TimeOfDay> |
Önbellek girişinin gün içinde sona ereceği saati belirtir.
<ExpirySettings> <TimeOfDay ref="var-containing-time">expiry</TimeOfDay> </ExpirySettings>. |
Olası alt öğelerden yalnızca birini belirtmeniz gerekir. Birden çok öğe belirtirseniz
öncelik sırası şu şekildedir:TimeoutInSeconds
, ExpiryDate
,
TimeOfDay
.
Yukarıdaki <ExpirySettings>
alt öğelerinin her biriyle,
alt öğede isteğe bağlı ref
özelliğini belirtirseniz politika
adlandırılmış bağlam değişkeninden geçerlilik bitiş değerini alma. Değişken tanımlanmamışsa
politika, alt öğenin düz metin değerini kullanır.
<Scope> öğ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__apiProxyName__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
Global |
Önbellek anahtarı, ortamda dağıtılan tüm API proxy'leri arasında paylaşılır. Önbellek anahtarı: orgName __ envName __ biçiminde eklenir.
|
Application |
API proxy adı ön ek olarak kullanılıyor. Önbellek anahtarı başa orgName__envName__apiProxyName biçiminde eklenir. |
Proxy |
ProxyEndpoint yapılandırması ön ek olarak kullanılır. Önbellek anahtarı formun başına eklendi orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName |
Target |
Ön ek olarak TargetEndpoint yapılandırması kullanılıyor. Formun başına eklenmiş önbellek anahtarı orgName__envName__apiProxyName__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:
Formun başına eklenmiş önbellek anahtarı orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName Örneğin, tam dize aşağıdaki gibi görünebilir: apifactory__test__weatherapi__16__default__apiAccessToken. |
<Source> öğe
Değerinin önbelleğe yazılması gereken değişkeni belirtir.
<Source>source_variable</Source>
Varsayılan: |
Yok |
Bulunma: |
Zorunlu |
Tür: |
Dize |
Kullanım notları
Genel amaçlı önbelleğe alma için bu politikayı kullanın. Çalışma zamanında,
<PopulateCache>
politikası,
Şurada belirttiğiniz önbelleğe <Source>
öğesi:
<CacheResource>
öğesi. <CacheKey>
,
ayarlamak istediğiniz anahtarı belirtmek için <Scope>
ve <Prefix>
değeri almak için <LookupCache>
politikasından kullanabilir. Şunu kullanın:
Önbelleğe alınan değerin süresinin ne zaman sona ereceğini yapılandırmak için <ExpirySettings>
öğesi.
PopulateCache politikası, LookupCache politikası ve InencryptedCache politikası ile genel amaçlı önbelleğe alma
yapılandırdığınız bir önbellek veya varsayılan olarak eklenmiş paylaşılan bir önbellek. Çoğu durumda
temel paylaşılan önbelleğin ihtiyaçlarınızı karşılaması gerekir. Bu önbelleği kullanmak için
<CacheResource>
öğesi.
Önbellek sınırları: Çeşitli önbellek sınırları Örneğin, ad ve değer boyutu, toplam önbellek sayısı, önbellekteki öğe sayısı emin olmanız gerekir.
Temel veri deposu hakkında daha fazla bilgi edinmek için Önbellek dahili verileri bölümüne bakın. Yapılandırma hakkında daha fazla bilgi için daha fazla bilgi için ortam önbelleğinizdir.
Önbellek şifreleme hakkında
Edge for Public Cloud: Önbellek yalnızca şurada şifrelenir: PCI ve HIPAA özellikli kuruluşlar. Bu kuruluşlar için şifreleme, kuruluş sırasında yapılandırılır. temel hazırlık.
Hata kodları
Bu bölümde, bu politika bir hatayı tetiklediğinde döndürülen hata kodları ve hata mesajlarının yanı sıra Edge tarafından ayarlanan hata değişkenleri açıklanmaktadır. Hata kuralları geliştirirken bu bilgilerin farkında olmanız önemlidir. hoşuma gitmesi için bir fırsattır. Daha fazla bilgi için Bilmeniz gerekenler Politika hataları ve Kullanım sorun.
Çalışma zamanı hataları
Bu hatalar, politika yürütüldüğünde ortaya çıkabilir.
Hata kodu | HTTP Durumu | Şu durumda gerçekleşir: |
---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | Giriş önbelleğe alınamaz. Önbelleğe alınan ileti nesnesi bir sınıf oluşturun. |
Dağıtım hataları
Bu politikayı içeren bir proxy dağıttığınızda bu hatalar oluşabilir.
Hata adı | Neden | Düzelt |
---|---|---|
InvalidCacheResourceReference |
Bu hata, PopulateCache politikasındaki <CacheResource> öğesi
API proxy'sinin dağıtıldığı ortamda bulunmayan bir ad. |
build |
CacheNotFound |
<CacheResource> öğesinde belirtilen önbellek
bulunur. |
build |
Hata değişkenleri
Bu değişkenler, politika bir hatayı tetiklediğinde ayarlanır. Daha fazla bilgi için Bilmeniz gerekenler hakkında daha fazla bilgi edinin.
Değişkenler | Konum | Örnek |
---|---|---|
fault.name="fault_name" |
fault_name, yukarıdaki Çalışma zamanı hataları tablosunda listelendiği gibi hatanın adıdır. Hata adı, hata kodunun son kısmıdır. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name, hataya neden olan politikanın kullanıcı tarafından belirtilen adıdır. | populatecache.POP-CACHE-1.failed = true |
Örnek hata yanıtı
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Örnek hata kuralı
<FaultRule name="Populate Cache Fault"> <Step> <Name>AM-EntryCannotBeCached</Name> <Condition>(fault.name Matches "EntryCannotBeCached") </Condition> </Step> <Condition>(populatecache.POP-CACHE-1.failed = true) </Condition> </FaultRule>