Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
InvalidTimeout
Hata Mesajı
API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:
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
Bir 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>
-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
değeridir:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
Hatanın oluştuğu ilgili API Proxy'sinde 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, hata mesajındaki değerle eşleşen-1
olarak ayarlar:<?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
değerini 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 üzerinden dağıtılması şu hata mesajını gösterir:
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, bir 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
İlgili API Proxy'sindeki tüm ResponseCache politikalarını inceleyin. olmuştur. Geçersiz önbelleğin bulunduğu belirli ResponseCache politikasını tanımlayın (1. adımda tanımlanır)
<CacheResource>
öğesinde belirtilir.Örneğin, aşağıdaki politika
<CacheResource>
değeriniitemscache
değeri, hata mesajındakiyle eşleşiyor:<?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) ilgili 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ı'nı tıklayın ve önbelleğin, ilgili ortamda Önbellekler sekmesinde olup olmadığını kontrol edin. Önbellek mevcut değilse hatanın nedeni budur.
Örneğin, aşağıdaki ekran görüntüsünde
itemscache
adlı önbelleğin bulunmadığına dikkat edin.itemscache
adlı önbellekprod
ortamında tanımlanmadığından hata mesajını 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 üzerinden dağıtılması şu hata mesajını gösterir:
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, API proxy'sinin herhangi bir akışı içindeki birden fazla istek yoluna aynı ResponseCache politikası eklendiğinde ortaya çıkar.
Örneğin, hem Proxy hem de Hedef Uç Uç Nokta'nın istek ön akışına aynı ResponseCache politikası eklenmişse bu hata oluşur.
Teşhis
Birden çok 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'sinin 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 varsayılan proxy uç noktası PreFlow'un istek yolunda aynı ResponseCache politikası
Response-Cache-1
ve varsayılan hedef uç nokta PreFlow 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
ResponseCache politikasının tüm API Proxy'lerinde yalnızca bir istek yoluna eklendiğinden emin olun.
Yukarıda gösterilen örneği düzeltmek için iki istek akışından birinden Response-Cache-1
ResponseCache politikasını kaldırın.
ResponseCacheStepAttachmentNotAllowedResp
Hata Mesajı
API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:
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, API proxy'sinin herhangi bir akışı içindeki birden fazla yanıt yoluna aynı ResponseCache politikası eklenirse ortaya çıkar.
Örneğin, hem Proxy hem de Hedef Uç Uç Nokta'nın yanıt Ön Akışına aynı ResponseCache politikası eklenmişse bu hata oluşur.
Teşhis
Birden çok 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
şeklindedir.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'sinin Proxy ve Hedef Uç Noktalarındaki tüm istek akışlarını inceleyin. İki veya daha fazla yanıt akışına aynı ResponseCache politikası eklenirse hatanın nedeni budur.
Aşağıdaki örnekte varsayılan proxy uç noktası PreFlow'un yanıt yolunda aynı ResponseCache politikası
Response-Cache-1
ve varsayılan hedef uç noktası PreFlow 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
ResponseCache politikasının tüm API Proxy'lerinde yalnızca bir yanıt yoluna eklendiğinden emin olun.
Yukarıda gösterilen örneği düzeltmek için iki yanıt yolunun birinden Response-Cache-1
ResponseCache politikasını kaldırın.
InvalidMessagePatternForErrorCode
Hata Mesajı
API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması 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
Hatanın oluştuğu API Proxy'sinde tüm ResponseCache politikalarını inceleyin ve
<SkipCacheLookup>
ve/veya<SkipCachePopulation>
öğeleri için belirtilmiş koşullara sahip herhangi bir politika olup olmadığını kontrol edin.<SkipCacheLookup>
ve/veya<SkipCachePopulation>
öğesi için belirtilen koşulun geçersiz olup olmadığını kontrol edin. Cevabınız evetse hatanın nedeni budur.Aşağıdaki örnekte
<SkipCachePopulation>
öğesi, geçersiz değer ve eşittir türünü 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>
öğesini, =
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ı sonucunda şu şekilde bir hata mesajı görüntülenir ve API Proxy'sinin dağıtım durumu kısmen dağıtıldı 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 önbellek, belirli bir İleti İşleyici bileşeninde oluşturulmadıysa ortaya çıkar.
Çö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 işleyicilerin
steps.cache.CacheNotFound
hatasına sahip 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ördüğünüz Mesaj İşleyici'nin UUID'lerini not edin. UUID'den Mesaj İşleyici'nin ana makine adını/IP adresini tanımlayın.Belirtilen İleti İşleyen'e giriş yapın ve aşağıdaki komutu kullanarak yeniden başlatın:
apigee-service edge-message-processor restart
Public Cloud'u kullanıyorsanız veya Private Cloud ile ilgili sorun devam ediyorsa yardım için Apigee Destek Ekibi ile iletişime geçin.