您正在查看 Apigee 和 Apigee Hybrid 文档。
查看 Apigee Edge 文档。
InvalidTimeout
错误消息
通过 Apigee 界面或 API 部署 API 代理失败并显示以下错误消息:
Error Saving Revision revision_number CacheLookupTimeoutInSeconds value value should be greater than zero.
错误消息示例
Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.
错误屏幕截图示例
原因
如果 LookupCache 政策的 <CacheLookupTimeoutInSeconds>
元素设置为负数,则 API 代理的部署将会失败。
例如,如果 <CacheLookupTimeoutInSeconds>
元素为 -1
,则 API 代理的部署将会失败。
诊断
标识在 LookupCache 政策中指定给
<CacheLookupTimeoutInSeconds>
元素的无效值。您可以在错误消息中找到此信息。例如,在以下错误中,用于<CacheLookupTimeoutInSeconds>
元素的无效值为-1
:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
检查出现故障的特定 API 代理中的所有 LookupCache 政策。可能存在一个或多个指定了
<CacheLookupTimeoutInSeconds>
元素的 LookupCache 政策。标识为<CacheLookupTimeoutInSeconds>
元素指定无效值(在上述第 1 步中标识)的 LookUpCache 政策。例如,以下政策配置将
<CacheLookupTimeoutInSeconds>
的值指定为-1
,该值与错误消息匹配:<?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>
如果
<CacheLookupTimeoutInSeconds>
指定为负整数,则会导致错误。
解决方法
请确保 LookupCache 政策的 <CacheLookupTimeoutInSeconds>
元素的值始终指定为非负整数。
如需更正上面所示的 LookupCache 政策,您可以将 <CacheLookupTimeoutInSeconds>
元素修改为 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
错误消息
通过 Apigee 界面或 API 部署 API 代理失败并显示以下错误消息:
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]
错误消息示例
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
错误屏幕截图示例
原因
如果将 <CacheResource>
元素设置为部署 API 代理的环境中不存在的名称,就会发生此错误。
诊断
标识 LookupCache 政策的
<CacheResource>
元素中使用的无效缓存以及出现错误的环境。您可以在错误消息中找到这两项。例如,在以下错误中,无效缓存的名称为tokencache
,而环境名称为test
。Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
检查出现故障的特定 API 代理中的所有 LookupCache 政策。标识在
<CacheResource>
元素中指定无效缓存(在第 1 步中标识)的特定 LookUpCache 政策。例如,以下政策将
<CacheResource>
的值指定为tokencache
,该值与错误消息匹配:<?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>
验证是否已在特定环境(在第 1 步中标识)中定义缓存(在第 1 步中确定)。
在 Apigee 界面中,导航到管理 > 环境 > test,然后检查环境配置的缓存标签页中是否存在缓存。如果缓存不存在,则这是错误原因。
例如,注意在下面的屏幕截图中,不存在名为
tokencache
的缓存。由于未在
test
环境中定义名为tokencache
的缓存,因此会收到错误:Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
解决方法
确保 <CacheResource>
元素中指定的缓存名称已在您要部署 API 代理的环境中创建。
CacheNotFound
错误消息
通过 Apigee 界面或 API 部署 API 代理会产生如下错误消息,而且 API 代理的部署状态被标记为部分部署:
Error: Cache : cache_resource, not found in organization : organization__environment.
错误消息示例
Error Cache : configCache, not found in organization : kkalckstein-eval__test
原因
如果尚未在特定的消息处理器组件上创建错误消息中提及的特定缓存,就会发生此错误。
解决方法
请与 Apigee 支持团队联系以获取帮助。