Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
InvalidTimeout
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
Error Saving Revision revision_number CacheLookupTimeoutInSeconds value value should be greater than zero.
Örnek Hata Mesajı
Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Örnek Hata Ekran Görüntüsü
Neden
ResponseCache politikasının <CacheLookupTimeoutInSeconds>
öğesi negatif bir sayıya ayarlanırsa API proxy'sinin dağıtımı başarısız olur.
Örneğin, <CacheLookupTimeoutInSeconds>
değeri -1
ise API proxy'sinin dağıtımı başarısız olur.
Teşhis
ResponseCache politikasında
<CacheLookupTimeoutInSeconds>
öğesi için kullanılan geçersiz değeri tanımlayın. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada<CacheLookupTimeoutInSeconds>
öğesi için kullanılan geçersiz değer-1
şeklindedir:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Hatanın oluştuğu API Proxy'sinde bulunan tüm ResponseCache politikalarını inceleyin.
<CacheLookupTimeoutInSeconds>
öğesinin belirtildiği bir veya daha fazla ResponseCache politikası olabilir.Örneğin, aşağıdaki politika yapılandırması,
<CacheLookupTimeoutInSeconds>
değerini-1
olarak ayarlar ve bu değer, hata mesajındaki metinle eşleşir:<?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>
<CacheLookupTimeoutInSeconds>
negatif bir tam sayı olarak belirtilirse hatanın nedeni budur.
Çözünürlük
ResponseCache politikasının <CacheLookupTimeoutInSeconds>
öğesi değerinin her zaman negatif olmayan bir tam sayı olarak belirtildiğinden emin olun.
Yukarıda gösterilen örnek ResponseCache politikasını düzeltmek için <CacheLookupTimeoutInSeconds> element
politikasını 30
olarak değiştirebilirsiniz.
<?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
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
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
Örnek Hata Mesajı
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
Örnek Hata Ekran Görüntüsü
Neden
Bu hata, ResponseCache politikasındaki <CacheResource>
öğesi, API proxy'sinin dağıtıldığı ortamda var olmayan bir ada ayarlanırsa ortaya çıkar.
Teşhis
Yanıt Önbelleği politikasının
<CacheResource>
öğesinde kullanılan geçersiz önbelleği ve hatanın oluştuğu ortamı tanımlayın. Bu öğelerin ikisini de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada geçersiz önbelleğin adıitemscache
, ortam adı iseprod
şeklindedir.Invalid cache resource reference itemscache in Step definition ItemsResponseCache. Context Revision:2;APIProxy:StoresInventory;Organization:kkalckstein-eval;Environment:prod
Hatanın oluştuğu API Proxy'sinde tüm ResponseCache politikalarını inceleyin. Geçersiz önbelleğin (1. adımda tanımlanır)
<CacheResource>
öğesinde belirtildiği spesifik ResponseCache politikasını belirleyin.Örneğin, aşağıdaki politikada
<CacheResource>
değeriitemscache
olarak belirtilir. Bu değer, hata mesajındaki metinle eşleşir:<?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>
Önbelleğin (2. adımda belirlenir) belirli ortamda (1. adımda tanımlanır) tanımlanıp tanımlanmadığını doğrulayın.
Edge kullanıcı arayüzünde API'ler > Ortam Yapılandırması'na gidin ve önbelleğin, belirli ortamdaki Önbellekler sekmesinde mevcut olup olmadığını kontrol edin. Önbellek yoksa hatanın nedeni budur.
Örneğin, aşağıdaki ekran görüntüsünde
itemscache
adlı önbelleğin var olmadığına dikkat edin.itemscache
adlı önbellekprod
ortamında tanımlanmadığı için şu hatayı alırsınız:Invalid cache resource reference does_not_exist in Step definition Response-Cache-1. Context Revision:2;APIProxy:ResponseCache;Organization:kkalckstein-eval;Environment:prod
Çözünürlük
<CacheResource>
öğesinde belirtilen önbellek adının, API proxy'sini dağıtmak istediğiniz ortamda oluşturulduğundan emin olun.
Önbelleğin nasıl oluşturulacağıyla ilgili bilgi için Ortam önbelleği oluşturma ve düzenleme başlıklı makaleye bakın.
ResponseCacheStepAttachmentNotAllowedReq
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
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.
Örnek Hata Mesajı
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Örnek Hata Ekran Görüntüsü
Neden
Bu hata, bir API proxy'sinin herhangi bir akışındaki birden fazla istek yoluna aynı ResponseCache politikası eklenirse ortaya çıkar.
Örneğin, hem Proxy hem de Hedef Uç Noktalar'ın istek Preflow'una aynı ResponseCache politikası eklenmişse bu hata oluşur.
Teşhis
Birden fazla kez eklenen ResponseCache politikasının adını tanımlayın. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada ResponseCache politikasının adı Response‐Cache‐1'dir.
Error Deploying Revision 2 to test Response cache step definition Response-Cache-1 can not be attached more than once in the request path.
Hatanın oluştuğu API Proxy'sindeki Proxy ve Hedef Uç Noktaları'ndaki tüm istek akışlarını inceleyin. Aynı ResponseCache politikası iki veya daha fazla istek akışına eklenmişse hatanın nedeni budur.
Aşağıdaki örnekte aynı ResponseCache politikası
Response-Cache-1
, varsayılan proxy uç noktası PreFlow'un ve varsayılan hedef uç noktası PreFlow'un istek yolunda yapılandırılmıştır:<?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> ...
Çözünürlük
API Proxy'sinin tüm akışlarında yalnızca bir istek yoluna bir ResponseCache politikası eklendiğinden emin olun.
Yukarıda gösterilen örneği düzeltmek için Response-Cache-1
ResponseCache politikasını iki istek akışından birinden kaldırın.
ResponseCacheStepAttachmentNotAllowedResp
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:
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.
Örnek Hata Mesajı
Error Deploying Revision 2 to test
Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Örnek Hata Ekran Görüntüsü
Neden
Bu hata, aynı ResponseCache politikası bir API proxy'sinin herhangi bir akışındaki birden fazla yanıt yoluna eklenirse ortaya çıkar.
Örneğin, hem Proxy hem de Hedef Uç Noktaları'nın yanıt Preflow'unda aynı ResponseCache politikası varsa bu hata oluşur.
Teşhis
Birden fazla kez eklenen ResponseCache politikasının adını tanımlayın. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada ResponseCache politikasının adı
Response-Cache-1
'dir.Error Deploying Revision 2 to test Response cache step definition Response-Cache-1 can not be attached more than once in the response path.
Hatanın oluştuğu API Proxy'sindeki Proxy ve Hedef Uç Noktaları'ndaki tüm istek akışlarını inceleyin. Aynı ResponseCache politikası iki veya daha fazla yanıt akışına eklenmişse hatanın nedeni budur.
Aşağıdaki örnekte, varsayılan proxy uç noktası PreFlow'un yanıt yolunda ve varsayılan hedef uç nokta PreFlow'un yanıt yolunda aynı ResponseCache politikası
Response-Cache-1
yapılandırılmıştır:<?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> ...
Çözünürlük
API Proxy'sinin tüm akışlarında yalnızca bir yanıt yoluna bir ResponseCache politikası eklendiğinden emin olun.
Yukarıda gösterilen örneği düzeltmek için Response-Cache-1
ResponseCache politikasını iki yanıt yolundan birinden kaldırın.
InvalidMessagePatternForErrorCode
Hata Mesajı
API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API üzerinden dağıtımı, aşağıdaki hata mesajlarından biriyle başarısız olur:
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
VEYA
Error Deploying Revision revision_number to environment Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Örnek Hata Mesajı
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
VEYA
Error Deploying Revision 2 to prod
Invalid message pattern found for error code steps.cache.InvalidSkipCachePopulationCondition.
Örnek Hata Ekran Görüntüsü
VEYA
Neden
Bu hata, ResponseCache politikasındaki <SkipCacheLookup>
veya <SkipCachePopulation>
öğesi geçersiz bir koşul içeriyorsa ortaya çıkar.
Teşhis
API Proxy'sinde hatanın oluştuğu tüm ResponseCache politikalarını inceleyin ve
<SkipCacheLookup>
ve/veya<SkipCachePopulation>
öğeleri için koşul belirten politikalar olup olmadığını kontrol edin.<SkipCacheLookup>
ve/veya<SkipCachePopulation>
öğesi için belirtilen koşulun geçersiz olup olmadığını kontrol edin. Yanıtınız evetse, hatanın nedeni budur.Aşağıdaki örnekte
<SkipCachePopulation>
öğesi, geçersiz olan eşit değeri ve eşit türü kontrol etmek için === JavaScript operatörünü kullanır.<?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>
===
operatörü geçersiz olduğundan şu hatayı alırsınız:Invalid message pattern found for error code steps.cache.InvalidSkipCacheLookUpCondition.
Çözünürlük
<SkipCacheLookup>
ve/veya <SkipCachePopulation>
öğeleri için belirtilen koşulun her zaman geçerli olduğundan emin olun.
Yukarıda gösterilen örnek ResponseCache politikasını düzeltmek için <SkipCacheLookup>
parametresini =
operatörünü kullanacak şekilde değiştirebilirsiniz:
<?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
Hata Mesajı
API proxy'sinin Edge Kullanıcı Arayüzü veya Edge Management API aracılığıyla dağıtılması aşağıdaki gibi bir hata mesajıyla sonuçlanır ve API Proxy'sinin dağıtım durumu kısmen dağıtılmış olarak işaretlenir:
Error: Cache : cache_resource, not found in organization : organization__environment.
Örnek Hata Mesajı
Error Cache : Response-Cache-1, not found in organization : kkalckstein-eval__prod
Neden
Bu hata, hata mesajında bahsedilen belirli önbellek, belirli bir İleti İşleyici bileşeninde oluşturulmamışsa oluşur.
Çözünürlük
Private Cloud kullanıcısıysanız aşağıdaki talimatları uygulayın:
API proxy dağıtımlarını listeleyin ve hangi Mesaj İşleyicilerinde
steps.cache.CacheNotFound
hatasının olduğunu belirleyin.Örnek Çıkış
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"
steps.cache.CacheNotFound
hatasını gözlemlediğiniz İleti İşleyici'nin UUID'lerini not edin. UUID'den mesaj işleyenin ana makine adını/IP adresini tanımlayın.İlgili İleti İşleyiciye giriş yapın ve aşağıdaki komutu kullanarak yeniden başlatın:
apigee-service edge-message-processor restart
Herkese Açık Bulut kullanıcısıysanız veya Private Cloud'da sorun devam ediyorsa yardım için Apigee Destek Ekibi ile iletişime geçin.