Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Określa, jak pobrane w czasie działania mają być wartości z pamięci podręcznej.
Ta zasada jest przeznaczona do ogólnego krótkoterminowego buforowania. Jest on używany w połączeniu z zasadami dotyczącymi wypełniania i unieważniania pamięci podręcznej (do zapisywania wpisów) oraz zasadami dotyczącymi unieważniania pamięci podręcznej (do unieważniania wpisów).
Informacje o przechowywaniu w pamięci podręcznej odpowiedzi z zasobów backendu znajdziesz w zasadach dotyczących pamięci podręcznej odpowiedzi.
Element referencyjny
Poniżej znajdziesz listę elementów, które możesz skonfigurować w ramach tej zasady.
<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 uwzględniana jest pamięć podręczna współdzielona. Aby korzystać z wspólnej pamięci podręcznej, pomiń element <CacheResource>
w tej konfiguracji zasady.
Więcej informacji o podstawowym magazynie danych znajdziesz w artykule Wewnętrzna architektura pamięci podręcznej. Więcej informacji o konfigurowaniu pamięci podręcznej znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska.
Atrybuty elementu <LookupCache>
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 |
Element <AssignTo>
Określa zmienną, w której przypisany jest wpis z pamięci podręcznej po jego pobraniu z tej pamięci. Zmienna musi być zapisywalna. 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ślnie: |
Nie dotyczy |
Obecność: |
Wymagane |
Typ: |
Ciąg znaków |
Element <CacheKey>
Konfiguruje unikatowy wskaźnik do części danych przechowywanych w pamięci podręcznej.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Domyślnie: |
Nie dotyczy |
Obecność: |
Wymagane |
Typ: |
Nie dotyczy |
<CacheKey>
tworzy nazwę każdego elementu danych przechowywanego w pamięci podręcznej.
W czasie wykonywania wartości <KeyFragment>
są poprzedzone wartością elementu <Scope>
lub wartością <Prefix>
. Na przykład następujący kod spowoduje utworzenie klucza pamięci podręcznej UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Element <CacheKey>
używasz w połączeniu z elementami <Prefix>
i <Scope>
. Więcej informacji znajdziesz w artykule Praca z kluczami pamięci podręcznej.
Element <CacheLookupTimeoutInSeconds>
Określa liczbę sekund, po których nieudane wyszukiwanie w pamięci podręcznej zostanie uznane za brak w pamięci podręcznej. W takim przypadku przepływ danych wznawia się wzdłuż ścieżki braku w pamięci podręcznej.
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
Domyślnie: |
30 |
Obecność: |
Opcjonalny |
Typ: |
Liczba całkowita |
Element<CacheResource>
Określa pamięć podręczną, w której mają być przechowywane wiadomości.
Pomiń ten element całkowicie, jeśli te zasady (oraz odpowiednie zasady PopulateCache i InvalidateCache) używają zawartej pamięci podręcznej.
<CacheResource>cache_to_use</CacheResource>
Domyślnie: |
Nie dotyczy |
Obecność: |
Opcjonalny |
Typ: |
Ciąg znaków |
Więcej informacji o konfigurowaniu pamięci podręcznej znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska.
Element <CacheKey>/<KeyFragment>
Określa wartość, która powinna być uwzględniona w kluczu pamięci podręcznej, tworząc przestrzeń nazw dla dopasowywania żądań do odpowiedzi z pamięci podręcznej.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Domyślnie: |
Nie dotyczy |
Obecność: |
Opcjonalny |
Typ: |
Nie dotyczy |
Może to być klucz (podana przez Ciebie nazwa statyczna) lub wartość (dynamiczny wpis odwołujący się do zmiennej). Wszystkie określone fragmenty (oraz prefiks) są łączone, aby utworzyć klucz pamięci podręcznej.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Element <KeyFragment>
używasz w połączeniu z elementami <Prefix>
i <Scope>
. Więcej informacji znajdziesz w artykule Praca z kluczami pamięci podręcznej.
Atrybuty
Atrybut | Typ | Domyślny | Wymagane | Opis |
---|---|---|---|---|
ref | ciąg znaków | Nie |
Zmienne, z których ma być pobierana wartość. Nie należy go używać, jeśli element zawiera wartość dosłowną. |
Element <CacheKey>/<Prefix>
Określa wartość, która ma być używana jako prefiks klucza pamięci podręcznej.
<Prefix>prefix_string</Prefix>
Domyślnie: |
Nie dotyczy |
Obecność: |
Opcjonalny |
Typ: |
Ciąg znaków |
Użyj tej wartości zamiast wartości <Scope>
, jeśli chcesz podać własną wartość zamiast wartości zdefiniowanej w atrybucie <Scope>
. Jeśli jest zdefiniowany,
<Prefix>
dodaje wartość klucza pamięci podręcznej do wpisów zapisanych w pamięci podręcznej. Wartość elementu <Prefix>
zastępuje wartość elementu <Scope>
.
Element <Prefix>
używasz w połączeniu z elementami <CacheKey>
i <Scope>
. Więcej informacji znajdziesz w artykule Praca z kluczami pamięci podręcznej.
Element <Scope>
Wyliczenie używane do tworzenia prefiksu klucza pamięci podręcznej, gdy w elemencie <CacheKey>
nie ma elementu <Prefix>
.
<Scope>scope_enumeration</Scope>
Domyślnie: |
„Exclusive” (wyłączne) |
Obecność: |
Opcjonalny |
Typ: |
Ciąg znaków |
Ustawienie <Scope>
określa klucz pamięci podręcznej, który jest dodawany na początku zgodnie z wartością <Scope>
. Gdy zakres ma wartość Exclusive
, klucz pamięci podręcznej będzie miał postać:
nazwa_organizacji__nazwa_środowiska__aplikacji__nazwa_pośrednika__nazwa_celowa__
[ serializowany_klucz_pamięci_podręcznej ].
Jeśli element <Prefix>
występuje w elementach <CacheKey>
, zastępuje wartość elementu <Scope>
. Prawidłowe wartości to wymienione poniżej.
Element <Scope>
używasz w połączeniu z elementami <CacheKey>
i <Prefix>
. Więcej informacji znajdziesz w artykule Praca z kluczami pamięci podręcznej.
Dopuszczalne wartości
Global |
Klucz pamięci podręcznej jest wspólny dla wszystkich wdrożeń proxy interfejsu API w środowisku. Klucz pamięci podręcznej jest dodawany w postaci nazwaOrganizacji __ nazwaŚrodowiska __. Jeśli zdefiniujesz wpis |
Application |
Jako prefiks używana jest nazwa serwera proxy interfejsu API. Klucz pamięci podręcznej jest dodawany na początku w formie nazwaOrganizacji__nazwaŚrodowiska__aplikacji. |
Proxy |
Jako prefiks używana jest konfiguracja ProxyEndpoint. Klucz pamięci podręcznej jest dodawany na początku w formie orgName__envName__applicationName__proxyEndpointName. |
Target |
Jako prefiks służy konfiguracja punktu końcowego docelowego. Klucz pamięci podręcznej z dołączonym prefiksem w formie nazwaOrganizacji__nazwaŚrodowiska__aplikacji__nazwaUrządzeniaDocelowego. |
Exclusive |
Domyślny: Jest to najbardziej szczegółowy sposób, który minimalizuje ryzyko kolizji nazw w danej pamięci podręcznej. Prefiks może mieć jedną z 2 form:
Klucz pamięci podręcznej z dodatkiem w formie nazwaOrganizacji__nazwaŚrodowiska__aplikacji__nazwaProxyNazwaCelu Pełny ciąg może wyglądać np. tak: apifactory__test__weatherapi__16__default__apiAccessToken |
Zastosowanie
Używaj tej zasady do buforowania ogólnego. W czasie wykonywania zasada LookupCache pobiera wartość z pamięci podręcznej i przypisuje ją do zmiennej określonej za pomocą elementu AssignTo (jeśli nie zostanie pobrana żadna wartość, zmienna nie zostanie ustawiona). Szuka wartości na podstawie klucza pamięci podręcznej utworzonego w ramach konfiguracji, która łączy elementy CacheKey i Scope. Innymi słowy, aby pobrać określoną wartość dodaną do pamięci podręcznej przez zasadę PopulateCache, zasada LookupCache musi mieć elementy związane z kluczem pamięci podręcznej skonfigurowane w taki sam sposób jak zasada PopulateCache.
Buforowanie ogólnego przeznaczenia przy użyciu zasad PopulateCache, LookupCache i InvalidateCache korzysta z bufora skonfigurowanego przez użytkownika lub współdzielonego, który jest domyślnie uwzględniany. W większości przypadków wystarczy pamięć podręczna udostępniona przez system. Aby użyć domyślnej pamięci podręcznej, po prostu pomiń element <CacheResource>
.
Więcej informacji o konfigurowaniu pamięci podręcznej znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska. Więcej informacji o podstawowym magazynie danych znajdziesz w artykule Wewnętrzna architektura pamięci podręcznej.
Zmienne przepływu
Zmiennych przepływu można używać do konfigurowania dynamicznego zachowania w czasie wykonywania w przypadku zasad i przepływów na podstawie nagłówków HTTP lub treści wiadomości albo kontekstu dostępnego w przepływie. Więcej informacji o zmiennych przepływu znajdziesz w dokumentacji zmiennych.
Po dopasowaniu działania pamięci podręcznej zdefiniowanej w regułach LookupCache dostępne są te wstępnie zdefiniowane zmienne przepływu.
Zmienne | Typ | Uprawnienie | Opis |
---|---|---|---|
lookupcache.{policy-name}.cachename | Ciąg znaków | Tylko do odczytu | Zwraca nazwę pamięci podręcznej używanej w zasadzie. |
lookupcache.{policy-name}.cachekey | Ciąg znaków | Tylko do odczytu | Zwraca użyty klucz. |
lookupcache.{policy-name}.cachehit | Wartość logiczna | Tylko do odczytu | Wartość Prawda, jeśli zasady znalazły 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 przypisana jest pamięć podręczna. |
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