Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
InvalidTimeout
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Saving Revision revision_number CacheLookupTimeoutInSeconds value value should be greater than zero.
Przykładowy komunikat o błędzie
Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Zrzut ekranu z przykładowym błędem
Przyczyna
Jeśli element <CacheLookupTimeoutInSeconds>
zasady LookupCache jest ustawiony na liczbę ujemną, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Jeśli np. element <CacheLookupTimeoutInSeconds>
ma wartość -1
, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Wskaż nieprawidłową wartość elementu
<CacheLookupTimeoutInSeconds>
w zasadzie LookupCache. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nieprawidłowa wartość użyta w elemencie<CacheLookupTimeoutInSeconds>
to-1
:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Sprawdź wszystkie zasady LookupCache w konkretnym serwerze proxy interfejsu API, gdzie wystąpił błąd. Może istnieć co najmniej 1 zasada LookupCache, w której określono element
<CacheLookupTimeoutInSeconds>
. Zidentyfikuj zasadę LookUpCache, w której określono nieprawidłową wartość (określoną w kroku 1 powyżej) dla elementu<CacheLookupTimeoutInSeconds>
.Na przykład ta konfiguracja zasad określa wartość
<CacheLookupTimeoutInSeconds>
z-1
, która jest zgodna z komunikatem o błędzie:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token"> <DisplayName>LookupCache-Token</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.queryparam.client_id"/> </CacheKey> <CacheLookupTimeoutInSeconds>-1</CacheLookupTimeoutInSeconds> <Scope>Exclusive</Scope> <ExpirySettings> <TimeoutInSec>3600</TimeoutInSec> </ExpirySettings> <AssignTo>usertoken</AssignTo> </LookupCache>
Jeśli
<CacheLookupTimeoutInSeconds>
jest podany jako ujemna liczba całkowita, to jest przyczyną błędu.
Rozdzielczość
Upewnij się, że wartość elementu <CacheLookupTimeoutInSeconds>
zasady LookupCache jest zawsze określona jako nieujemna liczba całkowita.
Aby poprawić przykładową zasadę LookupCache widoczną powyżej, można zmienić element <CacheLookupTimeoutInSeconds>
na 30
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
<DisplayName>LookupCache-Token</DisplayName>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref="request.queryparam.client_id"/>
</CacheKey>
<CacheResource>tokencache</CacheResource>
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
<Scope>Exclusive</Scope>
<ExpirySettings>
<TimeoutInSec>3600</TimeoutInSec>
</ExpirySettings>
<AssignTo>usertoken</AssignTo>
</LookupCache>
InvalidCacheResourceReference
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Invalid cache resource reference [cache_resource] in Step definition [populate_cache_policy_name]. Context Revision:[revision_number];APIProxy:ResponseCache;Organization:[organization];Environment:[environment]
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
Zrzut ekranu z przykładowym błędem
Przyczyna
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.
Diagnostyka
Zidentyfikuj nieprawidłową pamięć podręczną używaną w elemencie
<CacheResource>
zasady LookupCache i środowisku, w którym wystąpił błąd. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w poniższym błędzie nazwa nieprawidłowej pamięci podręcznej totokencache
, a nazwa środowiska totest
.Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
Sprawdź wszystkie zasady LookupCache w konkretnym serwerze proxy interfejsu API, gdzie wystąpił błąd. Wskaż konkretną zasadę LookupCache, w której określono nieprawidłową pamięć podręczną (określoną w kroku 1) w elemencie
<CacheResource>
.Na przykład ta zasada określa wartość
<CacheResource>
jakotokencache
, która odpowiada komunikatowi o błędzie:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token"> <DisplayName>LookupCache-Token</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.queryparam.client_id"/> </CacheKey> <CacheResource>tokencache</CacheResource> <CacheLookupTimeoutInSeconds/> <Scope>Exclusive</Scope> <ExpirySettings> <TimeoutInSec>3600</TimeoutInSec> </ExpirySettings> <AssignTo>usertoken</AssignTo> </LookupCache>
Sprawdź, czy pamięć podręczna (określona w kroku 1) została zdefiniowana w konkretnym środowisku (określonym w kroku 1).
W interfejsie użytkownika Edge wybierz ADMINISTRACJA > Środowisko > test i na karcie Pamięć podręczna w sekcji Konfiguracja środowiska sprawdź, czy pamięć podręczna istnieje. Jeśli pamięć podręczna nie istnieje, jest to przyczyna błędu.
Na przykład na zrzucie ekranu poniżej widać, że pamięć podręczna o nazwie
tokencache
nie istnieje.Ponieważ pamięć podręczna o nazwie
tokencache
nie jest zdefiniowana w środowiskutest
, występuje błąd:Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
Rozdzielczość
Upewnij się, że nazwa pamięci podręcznej określona w elemencie <CacheResource>
została utworzona w środowisku, w którym chcesz wdrożyć serwer proxy interfejsu API.
Informacje o tym, jak utworzyć pamięć podręczną, znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska.
CacheNotFound
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub Edge Management API powoduje wyświetlenie takiego komunikatu o błędzie, a stan wdrożenia serwera proxy interfejsu API jest oznaczony jako częściowo wdrożony:
Error: Cache : cache_resource, not found in organization : organization__environment.
Przykładowy komunikat o błędzie
Error Cache : configCache, not found in organization : kkalckstein-eval__test
Przyczyna
Ten błąd występuje, jeśli określona pamięć podręczna wymieniona w komunikacie o błędzie nie została utworzona w konkretnym komponencie procesora wiadomości.
Rozdzielczość
Jeśli jesteś użytkownikiem Private Cloud, wykonaj te czynności:
Wyświetl listę wdrożeń proxy interfejsu API i sprawdź, które procesory wiadomości mają błąd
steps.cache.CacheNotFound
.curl -u $USERID:$USERPASSWORD http://
:8080/v1/organizations/ /environments/ /apis/ /revisions/ /deployments Przykładowe dane wyjściowe
{ "aPIProxy" : "TestCache", "environment" : [ { "configuration" : { "basePath" : "/", "configVersion" : "SHA-512:45d3f39783414d3859bf2dec4135d8f5f9960ee6b2d361db2799c82693a8e3f8b95dbbb37c547eb3c0a3819d8ca51727f390502bcaefdf1f113263521a9023b6", "steps" : [ ] }, "name" : "prod", "server" : [ { "pod" : { "name" : "pod1", "region" : "us-central1" }, "status" : "deployed", "type" : [ "message-processor" ], "uUID" : "f2e5e34a-5630-43a9-8fef-48a5b9da76d1" }, { "pod" : { "name" : "pod1", "region" : "us-central1" }, "status" : "deployed", "type" : [ "message-processor" ], "uUID" : "879a6538-a5e0-4503-b142-9cb2b4e0623d" }, { "error" : "Cache : configCache, not found in organization : kkalckstein-eval__test", "errorCode" : "steps.cache.CacheNotFound", "status" : "error", "type" : [ "message-processor" ], "uUID" : "a8f9ce0b-c32d-48a9-b26c-9c75d8bf467d" }, ... "state" : "deployed" } ], "name" : "2", "organization" : "kkalckstein-eval" ...
Zapisz identyfikatory UUID procesora wiadomości, w którym występuje błąd
steps.cache.CacheNotFound
. Znajdź nazwę hosta/adres IP podmiotu przetwarzającego wiadomości powiązanego z identyfikatorem UUID.Zaloguj się do określonego procesora wiadomości i uruchom go ponownie za pomocą tego polecenia:
apigee-service edge-message-processor restart
Jeśli jesteś użytkownikiem Cloud Cloud lub problem nie ustąpi w Private Cloud, skontaktuj się z zespołem pomocy Apigee.