Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Konfiguruje sposób pobierania wartości z pamięci podręcznej w czasie działania.
Ta zasada jest przeznaczona do krótkoterminowego buforowania ogólnego przeznaczenia. Używany w konsola z funkcją Wypełnij Zasada pamięci podręcznej (do zapisywania wpisów) i Unieważnij zasadę pamięci podręcznej (w przypadku unieważniania wpisów).
Informacje o buforowaniu odpowiedzi zasobów backendu znajdziesz w dokumentacji Zasada pamięci podręcznej odpowiedzi.
Odwołanie do elementu
Poniżej znajduje się lista elementów, które można skonfigurować w tej zasadzie.
<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>
Domyślnie udostępniana jest współdzielona pamięć podręczna. Aby użyć współdzielonej pamięci podręcznej, pomiń
<CacheResource>
element w tej konfiguracji zasady.
Więcej informacji o bazowym magazynie danych znajdziesz w artykule Wewnętrzne pamięci podręcznej. Więcej informacji o konfigurowaniu pamięci podręcznej można znaleźć w sekcji Tworzenie i edytowanie pamięci podręcznej środowiska.
<LookupCache> atrybuty
W tej tabeli opisano atrybuty wspólne dla wszystkich elementów nadrzędnych zasad:
Atrybut | Opis | Domyślny | Obecność |
---|---|---|---|
name |
Wewnętrzna nazwa zasady. Wartość atrybutu Opcjonalnie możesz użyć elementu |
Nie dotyczy | Wymagane |
continueOnError |
Ustaw jako Ustaw jako |
fałsz | Opcjonalnie |
enabled |
Aby egzekwować zasadę, ustaw wartość Aby wyłączyć zasadę, ustaw wartość |
prawda | Opcjonalnie |
async |
Ten atrybut został wycofany. |
fałsz | Wycofano |
<DisplayName> element
Używaj oprócz atrybutu name
do oznaczania zasady w
edytor proxy interfejsu zarządzania z inną nazwą w języku naturalnym.
<DisplayName>Policy Display Name</DisplayName>
Domyślny |
Nie dotyczy Jeśli pominiesz ten element, atrybut |
---|---|
Obecność | Opcjonalnie |
Typ | Ciąg znaków |
<AssignTo> element
Określa zmienną, do której przypisywany jest wpis pamięci podręcznej po pobraniu go z pamięci podręcznej. Zmienna musi mieć możliwość zapisu. Jeśli wyszukiwanie w pamięci podręcznej nie zwróci wartości, zmienna nie zostanie ustawiona.
<AssignTo>variable_to_receive_cached_value</AssignTo>
Domyślne: |
Nie dotyczy |
Obecność: |
Wymagane |
Typ: |
Ciąg znaków |
<CacheKey> element
Konfiguruje unikalny wskaźnik danych przechowywanych w pamięci podręcznej.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Domyślne: |
Nie dotyczy |
Obecność: |
Wymagane |
Typ: |
Nie dotyczy |
<CacheKey>
tworzy nazwę każdego elementu danych przechowywanych w
pamięci podręcznej.
W czasie działania wartości <KeyFragment>
są dodawane prefiksem
Wartość elementu <Scope>
lub <Prefix>
. Na przykład parametr
daje w rezultacie klucz pamięci podręcznej równy
UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Elementu <CacheKey>
używasz w połączeniu z:
<Prefix>
i <Scope>
. Więcej informacji znajdziesz w artykule na temat pracy z kluczami pamięci podręcznej.
<CacheLookupTimeoutInSeconds> element
Określa liczbę sekund, po których nieudane wyszukiwanie w pamięci podręcznej jest uważane za w pamięci podręcznej. W takim przypadku przepływ zostanie wznawiany na ścieżce braku pamięci podręcznej.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
Domyślne: |
30 |
Obecność: |
Opcjonalnie |
Typ: |
Liczba całkowita |
<CacheResource> element
Określa pamięć podręczną, w której mają być przechowywane wiadomości.
Pomiń ten element, jeśli ta zasada (i odpowiednie pole PopulationCache oraz zasady VerifyateCache) korzystają z dołączonej współdzielonej pamięci podręcznej.
<CacheResource>cache_to_use</CacheResource>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Więcej informacji o konfigurowaniu pamięci podręcznych znajdziesz w sekcji Tworzenie i edytowanie środowiska Cache.
<CacheKey>/<KeyFragment> element
Określa wartość, która powinna być uwzględniona w kluczu pamięci podręcznej, tworząc przestrzeń nazw na potrzeby dopasowywania żądań odpowiedzi w pamięci podręcznej.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Nie dotyczy |
Może to być klucz (podana przez Ciebie statyczna nazwa) lub wartość (wpis dynamiczny ustawiony przez odwołania do zmiennej). Wszystkie określone fragmenty łącznie (plus prefiks) są połączone z utwórz klucz pamięci podręcznej.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Elementu <KeyFragment>
używasz w połączeniu z:
<Prefix>
i <Scope>
. Więcej informacji znajdziesz w artykule na temat pracy z kluczami pamięci podręcznej.
Atrybuty
Atrybut | Typ | Domyślny | Wymagane | Opis |
---|---|---|---|---|
odsyłacz | ciąg znaków | Nie |
Zmienna, z której ma zostać pobrana wartość. Nie należy używać, jeśli ten element zawiera wartość literałową. |
<CacheKey>/<Prefix> element
Określa wartość, która ma być używana jako prefiks klucza pamięci podręcznej.
<Prefix>prefix_string</Prefix>
Domyślne: |
Nie dotyczy |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Użyj tej wartości zamiast <Scope>
, jeśli chcesz określić własną wartość
zamiast wartości wyliczanej <Scope>
. Jeśli zostanie określona,
<Prefix>
dodaje na początku wartość klucza pamięci podręcznej dla wpisów zapisanych w pamięci podręcznej. O
Wartość elementu <Prefix>
zastępuje element <Scope>
.
Elementu <Prefix>
używasz w połączeniu z:
<CacheKey>
i <Scope>
. Więcej informacji znajdziesz w artykule na temat pracy z kluczami pamięci podręcznej.
<Scope> element
Wyliczenie używane do tworzenia prefiksu klucza pamięci podręcznej, gdy <Prefix>
element <CacheKey>
nie zawiera elementu.
<Scope>scope_enumeration</Scope>
Domyślne: |
„Ekskluzywna” |
Obecność: |
Opcjonalnie |
Typ: |
Ciąg znaków |
Ustawienie <Scope>
określa klucz pamięci podręcznej, który jest dodawany zgodnie z
wartość <Scope>
. Na przykład klucz pamięci podręcznej może mieć następującą postać, gdy:
zakres jest ustawiony na Exclusive
:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__
[ serializedCacheKey ].
Jeśli element <Prefix>
występuje w elemencie <CacheKey>
,
zastępuje wartość elementu <Scope>
. Prawidłowe wartości obejmują wyliczenia
poniżej.
Elementu <Scope>
używasz w połączeniu z:
<CacheKey>
i <Prefix>
. Więcej informacji znajdziesz w artykule na temat pracy z kluczami pamięci podręcznej.
Dopuszczalne wartości
Global |
Klucz pamięci podręcznej jest wspólny dla wszystkich serwerów proxy interfejsów API wdrożonych w środowisku. Klucz pamięci podręcznej to zostanie dołączony do postaci orgName __ envName __. Jeśli zdefiniujesz wpis |
Application |
Jako prefiks jest używana nazwa serwera proxy interfejsu API. Klucz pamięci podręcznej jest dodawany do formularza orgName__envName__applicationName. |
Proxy |
Jako prefiks jest używana konfiguracja ProxyEndpoint. Klucz pamięci podręcznej jest dodawany do formularza orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName , |
Target |
Jako prefiks używana jest konfiguracja docelowego punktu końcowego. Klucz pamięci podręcznej dodany na początku formularza orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName , |
Exclusive |
Domyślny: Jest to najbardziej szczegółowe rozwiązanie, więc wiąże się z minimalnym ryzykiem związanym z przestrzenią nazw i konfliktach w danej pamięci podręcznej. Prefiks może mieć jedną z dwóch form:
Klucz pamięci podręcznej dodany na początku formularza orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName Pełny ciąg znaków może na przykład wyglądać tak: apifactory__test__weatherapi__16__default__apiAccessToken. |
Zastosowanie
Ta zasada służy do ogólnego buforowania. W czasie działania zasada lookupCache pobiera z pamięci podręcznej, przypisując wartość do zmiennej określonej za pomocą elementu AssignTo (jeśli nie zostanie pobrana żadna wartość, zmienna nie zostanie ustawiona). Szuka wartości na podstawie pamięci podręcznej klucz utworzony w ramach konfiguracji łączącej elementy CacheKey i Scope. Innymi słowy, do pobrania konkretnej wartości dodanej do pamięci podręcznej przez zasadę PopulationCache, klasy lookupCache zasada musi mieć elementy związane z kluczem pamięci podręcznej skonfigurowane w taki sam sposób jak dla zasady PopulationCache .
Buforowanie do zwykłych obciążeń przy użyciu zasady Wypełnij pamięć podręczną.
Zasada lookupCache i zasadaInvalidateCache używa
albo ze skonfigurowanej pamięci podręcznej, albo ze współdzielonej pamięci podręcznej, która jest dostępna domyślnie. W większości przypadków
bazowa współdzielona pamięć podręczna powinna Ci odpowiadać. Aby użyć domyślnej pamięci podręcznej, po prostu pomiń
element <CacheResource>
.
Więcej informacji o konfigurowaniu pamięci podręcznych znajdziesz w sekcji Tworzenie i edytowanie środowiska Cache. Więcej informacji o bazowym magazynie danych znajdziesz w artykule Wewnętrzne pamięci podręcznej.
Zmienne przepływu
Zmienne przepływu mogą być używane do konfigurowania dynamicznego zachowania w środowisku wykonawczym dla zasad i przepływów, na podstawie w nagłówkach HTTP lub treści wiadomości albo z kontekstem dostępnym w przepływie. Więcej informacji na temat konfiguracji o zmiennych przepływu, patrz Zmienne odniesienie.
Poniższe wstępnie zdefiniowane zmienne przepływu są dostępne po dostosowaniu działania określoną w zasadzie lookupCache.
Zmienne | Typ | Uprawnienie | Opis |
---|---|---|---|
lookupcache.{nazwa-zasady}.cachename | Ciąg znaków | Tylko do odczytu | Zwraca nazwę pamięci podręcznej używaną w zasadzie. |
lookupcache.{nazwa-zasady}.cachekey | Ciąg znaków | Tylko do odczytu | Zwraca użyty klucz. |
lookupcache.{nazwa-zasady}.cachehit. | Wartość logiczna | Tylko do odczytu | Prawda, jeśli zasada znalazła wartość dla określonego klucza pamięci podręcznej. |
lookupcache.{policy-name}.assignto | Ciąg znaków | Tylko do odczytu | Zwraca zmienną, do której przypisano pamięć podręczną. |
Kody błędów
W tej sekcji opisujemy komunikaty o błędach i zmienne przepływu ustawiane, gdy ta zasada wywołuje błąd. Te informacje są ważne, jeśli opracowujesz reguły błędów dla serwera proxy. Więcej informacji znajdziesz w sekcjach Co musisz wiedzieć o błędach zasad i Postępowanie w przypadku błędów.
Prefiks kodu błędu
Nie dotyczy
Błędy w czasie wykonywania
Ta zasada nie powoduje błędów podczas działania.
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego te zasady.
Nazwa błędu | Przyczyna | Napraw |
---|---|---|
InvalidCacheResourceReference |
Ten błąd występuje, jeśli element <CacheResource> jest ustawiony na nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API. |
build |
InvalidTimeout |
Jeśli element <CacheLookupTimeoutInSeconds> jest ustawiony na liczbę ujemną, wdrożenie serwera proxy interfejsu API się nie uda. |
build |
CacheNotFound |
Ten błąd występuje, jeśli pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w konkretnym komponencie procesora wiadomości. | build |
Zmienne błędów
Nie dotyczy
Przykładowa odpowiedź na błąd
Nie dotyczy