Przeglądasz dokumentację Apigee Edge.
  Przejdź do
     Dokumentacja Apigee X. informacje.
 
  Określa sposób zapisywania wartości w pamięci podręcznej w czasie działania.
Zasada Wypełnij pamięć podręczną służy do zapisywania wpisów w krótkoterminowej pamięci podręcznej ogólnego przeznaczenia. Jest używane w połączeniu z funkcją Wyszukaj zasady dotyczące pamięci podręcznej (do odczytu wpisów w pamięci podręcznej) oraz Unieważnij zasadę dotyczącą pamięci podręcznej (do 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.
<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> 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 | 
<CacheKey> element
Konfiguruje unikalny wskaźnik danych przechowywanych w pamięci podręcznej.
Rozmiar kluczy pamięci podręcznej nie może przekraczać 2 KB.
<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.
<CacheResource> element
Określa pamięć podręczną, w której mają być przechowywane wiadomości.
Pomiń ten element, jeśli ta zasada (oraz odpowiednie elementy lookupCache i 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.
<ExpirySettings> element
Określa, kiedy wpis w pamięci podręcznej powinien wygasnąć. Kiedy
  obecny, <TimeoutInSeconds> zastąpienie
  <TimeOfDay> i <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>
| Domyślne: | Nie dotyczy | 
| Obecność: | Wymagane | 
| Typ: | Nie dotyczy | 
Elementy podrzędne elementu <ExpirySettings>
  Użyj dokładnie 1 elementu podrzędnego. W poniższej tabeli znajdziesz opis elementów podrzędnych funkcji
  <ExpirySettings>:
| Element podrzędny | Opis | 
|---|---|
| <TimeoutInSeconds> | Liczba sekund, po których wpis w pamięci podręcznej powinien wygasnąć. <ExpirySettings> <TimeoutInSeconds ref="var-containing-duration">expiry</TimeoutInSeconds> </ExpirySettings> Ten element zastępuje wycofany element  | 
| <ExpiryDate> | Określa datę wygaśnięcia wpisu w pamięci podręcznej. Określ ciąg znaków w formularzu
           <ExpirySettings> <ExpiryDate ref="var-containing-date">expiry</ExpiryDate> </ExpirySettings> Jeśli podana data przypada w przeszłości, zasada będzie stosować maksymalny czas życia wpisu w pamięci podręcznej. Maksymalna wartość to 30 dni. | 
| <TimeOfDay> | Określa godzinę, o której wpis w pamięci podręcznej powinien tracić ważność. 
              Podaj ciąg w formie  <ExpirySettings> <TimeOfDay ref="var-containing-time">expiry</TimeOfDay> </ExpirySettings> | 
Należy podać tylko jeden z możliwych elementów podrzędnych. Jeśli podasz wiele elementów, 
    kolejność obowiązywania zasad to:TimeoutInSeconds, ExpiryDate, 
    TimeOfDay
W przypadku każdego z powyższych elementów podrzędnych klasy <ExpirySettings> 
      Jeśli określisz opcjonalny atrybut ref w elemencie podrzędnym, zasada   
      pobierze wartość wygaśnięcia ważności z nazwanej zmiennej kontekstowej. Jeśli zmienna nie jest zdefiniowana, 
      zasada używa wartości tekstowej elementu podrzędnego.
<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__apiProxyName__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 ma postać orgName__envName__apiProxyName. | 
| Proxy | Jako prefiks jest używana konfiguracja ProxyEndpoint. Klucz pamięci podręcznej jest dodawany do formularza orgName__envName__apiProxyName__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__apiProxyName__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__apiProxyName__deployedRevisionNumber__proxyNameITargetName Pełny ciąg znaków może na przykład wyglądać tak: apifactory__test__weatherapi__16__default__apiAccessToken | 
<Source> element
Określa zmienną, której wartość ma być zapisywana w pamięci podręcznej.
<Source>source_variable</Source>
| Domyślne: | Nie dotyczy | 
| Obecność: | Wymagane | 
| Typ: | Ciąg znaków | 
Zastosowanie
Ta zasada służy do ogólnego buforowania. W czasie działania
  Zasada <PopulateCache> zapisuje dane ze zmiennej podanej w parametrze
  <Source> do pamięci podręcznej wskazanej w polu
  <CacheResource>. Za pomocą <CacheKey>,
  <Scope> i <Prefix>, aby określić klucz, który
  może za pomocą zasady <LookupCache> pobrać wartość. Użyj
  <ExpirySettings> – do skonfigurowania, kiedy wartość w pamięci podręcznej powinna wygasnąć.
Buforowanie ogólnego przeznaczenia z użyciem zasad PopulationCache, zasad lookupCache i zasad usługiInvalidateCache.
  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ć tej pamięci podręcznej, po prostu pomiń
  <CacheResource> element.
Limity pamięci podręcznej: różne limity pamięci podręcznej takie jak nazwa i rozmiar wartości, łączna liczba pamięci podręcznych, liczba elementów w pamięci podręcznej, i wygaśnięcie.
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.
Informacje o szyfrowaniu pamięci podręcznej
Edge for Public Cloud: pamięć podręczna jest szyfrowana tylko w PCI – i zgodne z HIPAA organizacji non-profit. Szyfrowanie w tych organizacjach jest skonfigurowane podczas organizacji. i udostępnianie danych.
Kody błędów
W tej sekcji opisano kody błędów i komunikaty o błędach, które są zwracane, oraz zmienne błędów ustawiane przez Edge, gdy ta zasada wyzwala błąd. Warto o tym wiedzieć, jeśli rozwijasz reguły błędów, aby obsługi błędów. Więcej informacji znajdziesz w artykule Co musisz wiedzieć o błędach związanych z zasadami i postępowaniu z błędami
Błędy w czasie wykonywania
Te błędy mogą wystąpić podczas wykonywania zasady.
| Kod błędu | Stan HTTP | Występuje, gdy | 
|---|---|---|
| policies.populatecache.EntryCannotBeCached | 500 | Wpisu nie można zapisać w pamięci podręcznej. Obiekt wiadomości zapisywany w pamięci podręcznej nie jest instancją klasy, którą można serializować. | 
Błędy wdrażania
Te błędy mogą wystąpić podczas wdrażania serwera proxy zawierającego tę zasadę.
| Nazwa błędu | Przyczyna | Napraw | 
|---|---|---|
| InvalidCacheResourceReference | Ten błąd występuje, jeśli element <CacheResource>w zasadzie PopulationCache ma wartość
          nazwa, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API. | build | 
| CacheNotFound | Pamięć podręczna określona w elemencie <CacheResource>nie
        istnieje. | build | 
Zmienne błędów
Te zmienne są ustawiane, gdy ta zasada wywołuje błąd. Więcej informacji znajdziesz w artykule Podstawowe informacje o błędach związanych z naruszeniem zasad.
| Zmienne | Gdzie | Przykład | 
|---|---|---|
| fault.name="fault_name" | fault_name to nazwa błędu podana w tabeli Błędy czasu działania powyżej. Nazwa błędu to ostatnia część kodu błędu. | fault.name = "EntryCannotBeCached" | 
| populatecache.policy_name.failed | policy_name to określona przez użytkownika nazwa zasady, która spowodowała błąd. | populatecache.POP-CACHE-1.failed = true | 
Przykładowa odpowiedź na błąd
{ "fault": { "faultstring": "[entry] can not be cached. Only serializable entries are cached.", "detail": { "errorcode": "steps.populatecache.EntryCannotBeCached" } } }
Przykładowa reguła błędu
<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>