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
The following table describes attributes that are common to all policy parent elements:
| Attribute | Description | Default | Presence |
|---|---|---|---|
name |
The internal name of the policy. The value of the Optionally, use the |
N/A | Required |
continueOnError |
Set to Set to |
false | Optional |
enabled |
Set to Set to |
true | Optional |
async |
This attribute is deprecated. |
false | Deprecated |
<DisplayName> element
Use in addition to the name attribute to label the policy in the
management UI proxy editor with a different, natural-language name.
<DisplayName>Policy Display Name</DisplayName>
| Default |
N/A If you omit this element, the value of the policy's |
|---|---|
| Presence | Optional |
| Type | String |
<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ı
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP Status | Occurs when |
|---|---|---|
policies.populatecache.EntryCannotBeCached |
500 | An entry cannot be cached. The message object being cached is not an instance of a class that is Serializable. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause | Fix |
|---|---|---|
InvalidCacheResourceReference |
This error occurs if the <CacheResource> element in the PopulateCache policy is set to
a name that does not exist in the environment where the API proxy is being deployed. |
build |
CacheNotFound |
The cache specified in the <CacheResource> element does not
exist. |
build |
Fault variables
These variables are set when this policy triggers an error. For more information, see What you need to know about policy errors.
| Variables | Where | Example |
|---|---|---|
fault.name="fault_name" |
fault_name is the name of the fault, as listed in the Runtime errors table above. The fault name is the last part of the fault code. | fault.name = "EntryCannotBeCached" |
populatecache.policy_name.failed |
policy_name is the user-specified name of the policy that threw the fault. | populatecache.POP-CACHE-1.failed = true |
Example error response
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Example fault rule
<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>