Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
InvalidTimeout
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się 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.
Przykładowy zrzut ekranu z błędem
Przyczyna
Jeśli element <CacheLookupTimeoutInSeconds>
zasady ResponseCache ma wartość ujemną, wdrożenie serwera proxy interfejsu API się nie uda.
Jeśli na przykład <CacheLookupTimeoutInSeconds>
to -1
, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Identyfikuje nieprawidłową wartość używaną dla elementu
<CacheLookupTimeoutInSeconds>
w zasadzie ResponseCache. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nieprawidłowa wartość użyta w elemencie<CacheLookupTimeoutInSeconds>
to-1
:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Sprawdź wszystkie zasady ResponseCache na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Element
<CacheLookupTimeoutInSeconds>
może zawierać co najmniej 1 zasadę ResponseCache.Na przykład ta konfiguracja zasad ustawia
<CacheLookupTimeoutInSeconds>
na-1
, co jest zgodne z tym, co podano w komunikacie o błędzie:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache-1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <CacheLookupTimeoutInSeconds>-1</CacheLookupTimeoutInSeconds> </ResponseCache>
Jeśli parametr
<CacheLookupTimeoutInSeconds>
jest określony jako ujemna liczba całkowita, to jest przyczyną błędu.
Rozdzielczość
Upewnij się, że wartość elementu <CacheLookupTimeoutInSeconds>
zasady ResponseCache jest zawsze określana jako nieujemna liczba całkowita.
Aby poprawić widoczną powyżej przykładową zasadę ResponseCache, możesz zmienić <CacheLookupTimeoutInSeconds> element
na 30
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
<DisplayName>Response Cache-1</DisplayName>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref="request.uri" type="string"/>
</CacheKey>
<Scope>Exclusive</Scope>
<ExpirySettings>
<ExpiryDate/>
<TimeOfDay/>
<TimeoutInSec ref="">3600</TimeoutInSec>
</ExpirySettings>
<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
</ResponseCache>
InvalidCacheResourceReference
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Invalid cache resource reference cache_resource in Step definition response_cache_policy_name. Context Revision:revision_number;APIProxy:ResponseCache;Organization:organization;Environment:environment
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to prod
Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Przykładowy zrzut ekranu z błędem
Przyczyna
Ten błąd występuje, jeśli element <CacheResource>
w zasadzie ResponseCache jest ustawiony na nazwę, która nie istnieje w środowisku, w którym wdrażany jest serwer proxy interfejsu API.
Diagnostyka
Określ nieprawidłową pamięć podręczną używaną w elemencie
<CacheResource>
zasady pamięci podręcznej odpowiedzi i środowisku, w którym wystąpił błąd. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa nieprawidłowej pamięci podręcznej toitemscache
, a nazwa środowiska toprod
.Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Sprawdź wszystkie zasady ResponseCache na konkretnym serwerze proxy API, na którym wystąpił błąd miało miejsce. Określ konkretną zasadę ResponseCache, w której nieprawidłowa pamięć podręczna (określony w kroku 1) jest określony w elemencie
<CacheResource>
.Na przykład ta zasada określa wartość
<CacheResource>
jakoitemscache
, który pasuje do treści komunikatu o błędzie:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="ItemsResponseCache"> <DisplayName>ItemsResponseCache</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <CacheResource>itemscache</CacheResource> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <SkipCacheLookup/> <SkipCachePopulation/> </ResponseCache>
Sprawdź, czy pamięć podręczna (określona w kroku 2) jest zdefiniowana w konkretnym środowisku (określone w kroku 1).
W interfejsie Edge otwórz Interfejsy API > Environment Configuration (Konfiguracja środowiska) i sprawdź, czy pamięć podręczna jest dostępna na karcie Caches (Pamięci podręczne) w danym środowisku. Jeśli pamięć podręczna nie istnieje, to jest przyczyną błędu.
Na przykład na zrzucie ekranu poniżej zwróć uwagę, że pamięć podręczna o nazwie
itemscache
nie istnieje.Pamięć podręczna o nazwie
itemscache
nie jest zdefiniowana w środowiskuprod
, dlatego pojawia się błąd:Invalid cache resource reference does_not_exist in Step definition Response-Cache-1. Context Revision:2;APIProxy:ResponseCache;Organization:kkalckstein-eval;Environment:prod
Rozdzielczość
Sprawdź, czy 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.
Więcej informacji o tworzeniu pamięci podręcznej znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska.
ResponseCacheStepAttachmentNotAllowedReq
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Response cache step definition response_cache_policy_name can not be attached more than once in the request path.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Przykładowy zrzut ekranu z błędem
Przyczyna
Ten błąd występuje, jeśli ta sama zasada ResponseCache jest dołączona do wielu ścieżek żądań w dowolnych przepływach serwera proxy interfejsu API.
Jeśli na przykład masz tę samą zasadę ResponseCache do żądania wstępnego przepływu żądania zarówno dla serwera proxy, jak i docelowego punktu końcowego, to wystąpi ten błąd.
Diagnostyka
Określ nazwę zasady ResponseCache, która jest dołączona więcej niż raz. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady ResponseCache to Response‐Cache‐1.
Error Deploying Revision 2 to test Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Sprawdź wszystkie przepływy żądań w serwerach proxy i docelowych punktach końcowych serwera proxy interfejsu API, w których wystąpił błąd. Jeśli ta sama zasada ResponseCache jest przyłączona do co najmniej 2 przepływów żądań, to jest przyczyną błędu.
W poniższym przykładzie ta sama zasada ResponseCache
Response-Cache-1
jest skonfigurowana w ścieżce żądania domyślnego punktu końcowego serwera proxy PreFlow i domyślnym docelowym punkcie końcowym PreFlow:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <TargetEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request> <Step> <Name>Response-Cache-1</Name> </Step> </Request> ...
Rozdzielczość
Sprawdź, czy zasada ResponseCache jest dołączona tylko do jednej ścieżki żądania we wszystkich przepływach serwera proxy interfejsu API.
Aby poprawić powyższy przykład, usuń zasadę ResponseCache Response-Cache-1
z jednego z 2 przepływów żądań.
ResponseCacheStepAttachmentNotAllowedResp
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:
Error Deploying Revision revision_number to environment Response cache step definition response_cache_policy_name can not be attached more than once in the response path.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Przykładowy zrzut ekranu z błędem
Przyczyna
Ten błąd występuje, jeśli ta sama zasada ResponseCache jest dołączona do wielu ścieżek odpowiedzi w dowolnych przepływach serwera proxy interfejsu API.
Jeśli na przykład masz tę samą zasadę ResponseCache we wstępnym przepływie odpowiedzi zarówno serwera proxy, jak i docelowego punktu końcowego, to wystąpi ten błąd.
Diagnostyka
Określ nazwę zasady ResponseCache, która jest dołączona więcej niż raz. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady ResponseCache to
Response-Cache-1
.Error Deploying Revision 2 to test Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Sprawdź wszystkie przepływy żądań w serwerach proxy i docelowych punktach końcowych serwera proxy interfejsu API, w których wystąpił błąd. Jeśli ta sama zasada ResponseCache jest dołączona w co najmniej dwóch przepływach odpowiedzi, to jest to przyczyna błędu.
W poniższym przykładzie ta sama zasada ResponseCache
Response-Cache-1
jest skonfigurowana w ścieżce odpowiedzi domyślnego punktu końcowego serwera proxy PreFlow i domyślnego docelowego punktu końcowego PreFlow:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ProxyEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request> <Step> <Name>Response-Cache</Name> </Step> </Request> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> </PreFlow> ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <TargetEndpoint name="default"> <Description/> <FaultRules/> <PreFlow name="PreFlow"> <Request/> <Response/> </PreFlow> <PostFlow name="PostFlow"> <Request/> <Response> <Step> <Name>Response-Cache-1</Name> </Step> </Response> </PostFlow> ...
Rozdzielczość
Sprawdź, czy zasada ResponseCache jest dołączona tylko do jednej ścieżki odpowiedzi we wszystkich przepływach serwera proxy interfejsu API.
Aby poprawić ten przykład, usuń zasadę Response-Cache-1
ResponseCache z jednej z 2 ścieżek odpowiedzi.
InvalidMessagePatternForErrorCode
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API przy użyciu interfejsu Edge UI lub Edge Management API zakończy się niepowodzeniem i wyświetli się jeden z tych komunikatów o błędzie:
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
LUB
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Przykładowy komunikat o błędzie
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
LUB
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Przykładowy zrzut ekranu z błędem
LUB
Przyczyna
Ten błąd występuje, jeśli element <SkipCacheLookup>
lub <SkipCachePopulation>
w zasadzie ResponseCache zawiera nieprawidłowy warunek.
Diagnostyka
Sprawdź wszystkie zasady ResponseCache na serwerze proxy interfejsu API, w którym wystąpił błąd, i sprawdź, czy istnieją zasady z warunkami określonymi dla elementów
<SkipCacheLookup>
lub<SkipCachePopulation>
.Sprawdź, czy warunek podany w elemencie
<SkipCacheLookup>
lub<SkipCachePopulation>
jest nieprawidłowy. Jeśli tak, to to jest przyczyną błędu.W poniższym przykładzie element
<SkipCachePopulation>
element używa operatora JavaScript === do wyszukania tej samej wartości i typu równego, który jest nieprawidłowy.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1"> <DisplayName>Response Cache-1</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref="request.uri" type="string"/> </CacheKey> <Scope>Exclusive</Scope> <ExpirySettings> <ExpiryDate/> <TimeOfDay/> <TimeoutInSec ref="">3600</TimeoutInSec> </ExpirySettings> <CacheLookupTimeoutInSeconds>2</CacheLookupTimeoutInSeconds> <SkipCacheLookup>request.header.bypass-cache === "true"</SkipCacheLookup> </ResponseCache>
Operator
===
jest nieprawidłowy, więc pojawia się błąd:Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
Rozdzielczość
Upewnij się, że warunek określony w elementach <SkipCacheLookup>
lub <SkipCachePopulation>
jest zawsze prawidłowy.
Aby poprawić widoczną powyżej przykładową zasadę ResponseCache, możesz zmodyfikować <SkipCacheLookup>
, używając operatora =
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
<DisplayName>Response Cache-1</DisplayName>
<Properties/>
<CacheKey>
<Prefix/>
<KeyFragment ref="request.uri" type="string"/>
</CacheKey>
<Scope>Exclusive</Scope>
<ExpirySettings>
<ExpiryDate/>
<TimeOfDay/>
<TimeoutInSec ref="">3600</TimeoutInSec>
</ExpirySettings>
<CacheLookupTimeoutInSeconds>2</CacheLookupTimeoutInSeconds>
<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
</ResponseCache>
CacheNotFound
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API przy użyciu 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 : Response-Cache-1, not found in organization : kkalckstein-eval__prod
Przyczyna
Ten błąd występuje, jeśli pamięć podręczna wspomniana 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 instrukcje:
Wyświetl listę wdrożeń proxy interfejsu API i określ, w których procesorach wiadomości występuje błąd
steps.cache.CacheNotFound
.Przykładowe dane wyjściowe
curl -u $USERID:$USERPASSWORD http://<management-server-host>:8080/v1/organizations/<org-name>/environments/<env-name>/apis/<apiproxy-name>/revisions/<revision-number>/deployments { "aPIProxy" : "ResponseCache", "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 : Response-Cache-1, not found in organization : kkalckstein-eval__prod", "errorCode" : "steps.cache.CacheNotFound", "status" : "error", "type" : [ "message-processor" ], "uUID" : "a8f9ce0b-c32d-48a9-b26c-9c75d8bf467d" }, ... "state" : "deployed" } ], "name" : "2", "organization" : "kkalckstein-eval"
Zanotuj identyfikatory UUID procesora wiadomości, w których występuje błąd
steps.cache.CacheNotFound
. Zidentyfikuj nazwę hosta/adres IP procesora wiadomości na podstawie identyfikatora UUID.Zaloguj się w określonym procesorze wiadomości i uruchom go ponownie za pomocą następującego polecenia:
apigee-service edge-message-processor restart
Jeśli korzystasz z usługi Public Cloud lub jeśli problem występuje w usłudze Private Cloud, skontaktuj się z zespołem pomocy Apigee.