Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
Konfiguriert, wie im Cache gespeicherte Werte zur Laufzeit geschrieben werden sollen.
Diese Richtlinie ist für die Anwendung beim allgemeinen, kurzzeitigen Caching vorgesehen. Sie wird in Verbindung mit der PopulateCache-Richtlinie (fzum Schreiben von Einträgen) und der InvalidateCache-Richtlinie (zum Entwerten von Einträgen) verwendet.
Informationen zum Caching der Antworten von Back-End-Ressourcen finden Sie unter Antwort-Cache-Richtlinie.
Elementverweis
Im Folgenden sind die über diese Richtlinie konfigurierbaren Werte aufgeführt.
<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>
Ein gemeinsam genutzter Cache ist standardmäßig eingeschlossen. Wenn Sie den freigegebenen Cache verwenden möchten, lassen Sie das Element <CacheResource>
in dieser Richtlinienkonfiguration weg.
Weitere Informationen zum zugrunde liegenden Datenspeicher finden Sie unter Interne Strukturen des Cache. Weitere Informationen zum Konfigurieren von Caches finden Sie unter Umgebungs-Cache erstellen und bearbeiten.
<LookupCache>-Attribute
In der folgenden Tabelle werden Attribute beschrieben, die für alle übergeordneten Richtlinienelemente gelten:
Attribut | Beschreibung | Standard | Präsenz |
---|---|---|---|
name |
Der interne Name der Richtlinie. Der Wert des Attributs Optional können Sie das Element |
– | Erforderlich |
continueOnError |
Legen Sie Legen Sie |
false | Optional |
enabled |
Setzen Sie den Wert auf Legen Sie |
true | Optional |
async |
Dieses Attribut wurde verworfen. |
false | Veraltet |
<DisplayName>-Element
Wird zusätzlich zum Attribut name
verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen Namen in einer natürlichen Sprache zu versehen.
<DisplayName>Policy Display Name</DisplayName>
Standardeinstellung |
– Wenn Sie dieses Element weglassen, wird der Wert des Namensattributs |
---|---|
Präsenz | Optional |
Typ | String |
<AssignTo>-Element
Gibt die Variable an, die dem Cache-Eintrag zugewiesen wird, nachdem dieser aus dem Cache abgerufen wurde. Die Variable muss beschreibbar sein. Wenn bei der Cache-Suche kein Wert abgerufen wird, wird die Variable nicht festgelegt.
<AssignTo>variable_to_receive_cached_value</AssignTo>
Standard: |
– |
Präsenz: |
Erforderlich |
Typ: |
String |
<CacheKey>-Element
Konfiguriert einen eindeutigen Zeiger auf ein im Cache gespeichertes Datenelement.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Standard: |
– |
Präsenz: |
Erforderlich |
Typ: |
– |
<CacheKey>
erstellt den Namen jedes Datenelements, das im Cache gespeichert ist.
Zur Laufzeit werden <KeyFragment>
-Werte entweder dem <Scope>
-Elementwert oder dem <Prefix>
-Wert vorangestellt. Das folgende Beispiel führt zu einem Cacheschlüssel von UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Sie verwenden das <CacheKey>
-Element zusammen mit <Prefix>
und <Scope>
. Weitere Informationen finden Sie unter Mit Cache-Schlüsseln arbeiten.
<CacheLookupTimeoutInSeconds>-Element
Gibt die Anzahl der Sekunden an, nach denen eine fehlgeschlagene Cache-Suche als Cache-Fehler betrachtet wird. In diesem Fall wird der Ablauf entlang des Cache-Fehler-Pfads fortgesetzt.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
Standard: |
30 |
Präsenz: |
Optional |
Typ: |
Ganzzahl |
<CacheResource>-Element
Gibt den Cache an, in dem Nachrichten gespeichert werden sollen.
Lassen Sie dieses Element vollständig weg, wenn diese Richtlinie (und Ihre entsprechenden PopulateCache- und InvalidateCache-Richtlinien) den enthaltenen freigegebenen Cache verwenden.
<CacheResource>cache_to_use</CacheResource>
Standard: |
– |
Präsenz: |
Optional |
Typ: |
String |
Weitere Informationen zum Konfigurieren von Caches finden Sie unter Umgebungs-Cache erstellen und bearbeiten.
<CacheKey>/<KeyFragment>-Element
Gibt einen Wert an, der im Cache-Schlüssel enthalten sein muss, um einen Namespace für den Abgleich von Anfragen mit im Cache gespeicherten Antworten zu erstellen.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Standard: |
– |
Präsenz: |
Optional |
Typ: |
– |
Dabei kann es sich um einen Schlüssel (einen von Ihnen angegebenen statischen Namen) oder um einen Wert (einen dynamischen Eintrag, der durch den Verweis auf eine Variable bestimmt wird) handeln. Alle angegebenen Fragmente werden (plus Präfix) verkettet, um den Cache-Schlüssel zu erstellen.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Sie verwenden das <KeyFragment>
-Element zusammen mit <Prefix>
und <Scope>
. Weitere Informationen finden Sie unter Mit Cache-Schlüsseln arbeiten.
Attribute
Attribut | Typ | Standard | Erforderlich | Beschreibung |
---|---|---|---|---|
Ref | String | Nein |
Die Variable, aus der der Wert abgerufen wird. Sollte nicht verwendet werden, wenn dieses Element einen Literalwert enthält. |
<CacheKey>/<Prefix>-Element
Gibt den Wert an, der als Cache-Schlüsselpräfix verwendet werden soll.
<Prefix>prefix_string</Prefix>
Standard: |
– |
Präsenz: |
Optional |
Typ: |
String |
Verwenden Sie diesen Wert anstelle von <Scope>
, wenn Sie einen eigenen Wert anstelle eines <Scope>
-Aufzählungswerts angeben möchten. Wenn definiert, definiert <Prefix>
den Cache-Schlüsselwert für Einträge, die in den Cache geschrieben werden. <Prefix>
-Elementwerte überschreiben <Scope>
-Elementwerte.
Sie verwenden das <Prefix>
-Element zusammen mit <CacheKey>
und <Scope>
. Weitere Informationen finden Sie unter Mit Cache-Schlüsseln arbeiten.
<Scope>-Element
Aufzählung, die zum Erstellen eines Präfixes für einen Cache-Schlüssel verwendet wird, wenn das Element <Prefix>
nicht im Element <CacheKey>
angegeben ist.
<Scope>scope_enumeration</Scope>
Standard: |
"Exklusiv" |
Präsenz: |
Optional |
Typ: |
String |
Mit der Einstellung <Scope>
wird ein Cache-Schlüssel festgelegt, dem gemäß des Werts <Scope>
etwas vorangestellt wird. Ein Cache-Schlüssel hat beispielsweise das folgende Format, wenn der Bereich auf Exclusive
festgelegt ist:
orgName__envName__applicationName__proxy|TargetName__
[ serializedCacheKey ].
Ist in <CacheKey>
ein <Prefix>
-Element vorhanden, hat dies vor einem <Scope>
-Elementwert Vorrang. Gültige Werte sind folgende Aufzählungen.
Sie verwenden das <Scope>
-Element zusammen mit <CacheKey>
und <Prefix>
. Weitere Informationen finden Sie unter Mit Cache-Schlüsseln arbeiten.
Zulässige Werte
Global |
Der Cache-Schlüssel wird für alle API-Proxys freigegeben, die in der Umgebung bereitgestellt werden. Der Cache-Schlüssel wird im Format orgName __ envName vorangestellt. Wenn Sie einen |
Application |
Der API-Proxyname wird als Präfix verwendet. Der Cache-Schlüssel hat das Format orgName__envName__applicationName. |
Proxy |
Die ProxyEndpoint-Konfiguration wird als Präfix verwendet. Dem Cache-Schlüssel wird orgName__envName__applicationName__proxyEndpointName vorangestellt. |
Target |
Die TargetEndpoint-Konfiguration wird als Präfix verwendet. Dem Cache-Schlüssel wird orgName__envName__applicationName__targetEndpointName vorangestellt. |
Exclusive |
Standard. Dies ist die spezifischste Zuordnung und bedingt daher ein minimales Risiko in Sachen Namespace-Konflikten in einem bestimmten Cache. Das Präfix gibt es in zwei Formen:
Dem Cache-Schlüssel wird orgName__envName__applicationName__proxyNameITargetName vorangestellt. Der vollständige String kann so aussehen: apifactory__test__weatherapi__16__default__apiAccessToken |
Verwendungshinweise
Verwenden Sie diese Richtlinie für das allgemeine Caching im Cache. Zur Laufzeit ruft die LookupCache-Richtlinie einen Wert aus dem Cache ab und weist den Wert der Variablen zu, die Sie mit dem AssigningTo-Element angegeben haben. Wenn kein Wert abgerufen wird, wird die Variable nicht festgelegt. Es sucht nach dem Wert basierend auf einem Cache-Schlüssel, der über die Konfiguration erstellt wurde und die CacheKey- und Scope-Elemente kombiniert. Mit anderen Worten: Um einen bestimmten Wert, der mit PopulateCache-Richtlinien auf den Cache übertragen wird, in der LookupCache-Richtlinie auf dieselbe Weise festzulegen, dass Cache-Schlüssel-bezogene Elemente wie die PopulateCache-Richtlinie verwendet werden.
Das Caching für allgemeine Zwecke mit der PopulateCache-Richtlinie, der LookupCache-Richtlinie und der InvalidateCache-Richtlinie verwendet entweder einen von Ihnen konfigurierten Cache oder einen freigegebenen Cache, der standardmäßig berücksichtigt wird. In den meisten Fällen sollte der zugrunde liegende freigegebene Cache Ihren Anforderungen genügen. Wenn Sie den Standard-Cache verwenden möchten, lassen Sie einfach das Element <CacheResource>
weg.
Weitere Informationen zum Konfigurieren von Caches finden Sie unter Umgebungs-Cache erstellen und bearbeiten. Weitere Informationen zum zugrunde liegenden Datenspeicher finden Sie unter Interne Strukturen des Cache.
Ablaufvariablen
Ablaufvariablen können verwendet werden, um das dynamische Laufzeitverhalten für Richtlinien und Abläufe auf der Grundlage von HTTP-Headern oder Nachrichteninhalten oder dem Kontext zu konfigurieren, der im Ablauf verfügbar ist. Weitere Informationen zu Ablaufvariablen finden Sie in der Variablenreferenz.
Die folgenden vordefinierten Ablaufvariablen sind verfügbar, nachdem Sie das Verhalten des Cache angepasst haben, den Sie in einer LookupCache-Richtlinie definieren.
Variablen | Typ | Berechtigung | Beschreibung |
---|---|---|---|
lookupcache.{policy-name}.cachename | String | Schreibgeschützt: | Gibt den in der Richtlinie verwendeten Cache-Namen zurück. |
lookupcache.{policy-name}.cachekey | String | Schreibgeschützt: | Gibt den verwendeten Schlüssel zurück. |
lookupcache.{policy-name}.cachehit | Boolesch | Schreibgeschützt: | "True", wenn die Richtlinie einen Wert für den angegebenen Cache-Schlüssel gefunden hat. |
lookupcache.{policy-name}.assignto | String | Schreibgeschützt: | Gibt die Variable zurück, der der Cache zugewiesen ist. |
Fehlercodes
In diesem Abschnitt werden die Fehlermeldungen und Ablaufvariablen beschrieben, die festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Dieses Informationen sind wichtig, wenn Sie Fehlerregeln für einen Proxy entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.
Fehlercode-Präfix
–
Laufzeitfehler
Diese Richtlinie gibt keine Laufzeitfehler aus.
Bereitstellungsfehler
Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.
Fehlername | Ursache | Problembehebung |
---|---|---|
InvalidCacheResourceReference |
Dieser Fehler tritt auf, wenn für das <CacheResource> -Element ein Name festgelegt ist, der in der Umgebung, in der der API-Proxy bereitgestellt wird, nicht vorhanden ist. |
build |
InvalidTimeout |
Wenn das <CacheLookupTimeoutInSeconds> -Element auf eine negative Zahl eingestellt ist, schlägt die Bereitstellung des API-Proxys fehl. |
build |
CacheNotFound |
Dieser Fehler tritt auf, wenn der in der Fehlermeldung erwähnte Cache nicht auf einer bestimmten Message Processor-Komponente erstellt wurde. | build |
Fehlervariablen
–
Beispiel für eine Fehlerantwort
–