您正在查看 Apigee 和 Apigee Hybrid 文档。
查看 Apigee Edge 文档。
InvalidCacheResourceReference
错误消息
通过 Apigee 界面或 API 部署 API 代理失败并显示以下错误消息:
Error Deploying Revision revision_number to environment Invalid cache resource reference [cache_resource] in Step definition [invalidate_cache_policy_name]. Context Revision:[revision_number];APIProxy:[apiproxy_name];Organization:[organization];Environment:[environment]
错误消息示例
Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition InvalidateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
错误屏幕截图示例
原因
如果将 InvalidateCache 政策中的 <CacheResource>
元素设置为部署 API 代理的环境中不存在的名称,则会出现此错误。
诊断
识别 InvalidateCache 政策名称、InvalidateCache 政策的
<CacheResource>
元素中使用的无效缓存以及出现错误的环境。您可以在错误消息中找到这些项。例如,在以下错误中,InvalidateCache 政策名称为InvalidateCache-Token
,无效缓存的名称为tokencache
,环境名称为test
。Invalid cache resource reference tokencache in Step definition InvalidateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
检查失败的 InvalidateCache 政策 XML,并验证为
<CacheResource>
元素指定的缓存名称与错误消息是否匹配。在此示例中,在
<CacheResource>
元素中指定的缓存名称为tokencache
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <InvalidateCache async="false" continueOnError="false" enabled="true" name="InvalidateCache-Token"> <DisplayName>InvalidateCache-Token</DisplayName> <Properties/> <CacheKey> <Prefix/> <KeyFragment ref=""/> </CacheKey> <CacheResource>tokencache</CacheResource> <Scope>Exclusive</Scope> <CacheContext> <APIProxyName/> <ProxyName>default</ProxyName> <TargetName>default</TargetName> </CacheContext> <PurgeChildEntries>false</PurgeChildEntries> </InvalidateCache>
验证是否已在特定环境(在第 1 步中标识)中定义缓存(在第 1 步中确定)。
在 Apigee 界面中,导航到管理 > 环境 > test,然后检查环境配置的缓存标签页中是否存在缓存。如果缓存不存在,则这是错误原因。
例如,注意在下面的屏幕截图中,不存在名为
tokencache
的缓存。由于未在
test
环境中定义名为tokencache
的缓存,因此会收到错误:Invalid cache resource reference tokencache in Step definition InvalidateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
解决方法
确保在想要部署 API 代理的环境中创建了 InvalidateCache 政策的 <CacheResource>
元素中指定的缓存。
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 处理 API 流量流的内部组件。
解决方法
请与 Apigee 支持团队联系以获取帮助。