InvalidateCache ポリシーのデプロイエラーのトラブルシューティング

現在、ApigeeApigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する

InvalidCacheResourceReference

エラー メッセージ

Apigee UI または 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

エラーのスクリーンショットの例

テストするリビジョン 2 のデプロイエラー。

原因

このエラーは、API プロキシがデプロイされている環境に存在しない名前が InvalidateCache ポリシーの <CacheResource> 要素に設定されている場合に発生します。

診断

  1. 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
    
  2. 失敗した 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>
    
  3. ステップ 1 で確認したキャッシュが、ステップ 1 で特定された固有の環境で定義されているかどうかを確認します。

    Apigee UI で、[Admin] > [Environment] > [test] に移動し、[Environment Configuration] の [Caches] タブにキャッシュが存在するかどうかを確認します。キャッシュが存在しない場合、それがエラーの原因です。

    たとえば、次のスクリーンショットでは、tokencache という名前のキャッシュは存在しません。

    [Environment Configuration] ダイアログ

    tokencache という名前のキャッシュが test 環境で定義されていないため、次のエラーが発生します。

    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 UI または API による API プロキシのデプロイで、次のようなエラー メッセージが表示され、API プロキシのデプロイ ステータスは部分的にデプロイされたものとしてマークされます。

Error: Cache : cache_resource, not found in organization : organization__environment.

エラー メッセージの例

Error Cache : configCache, not found in organization : kkalckstein-eval__test

原因

このエラーは、エラー メッセージに記述されているキャッシュが、特定の Message Processor コンポーネント上に作成されていない場合に発生します。Message Processor は、Apigee を介した API トラフィックのフローを処理する内部コンポーネントです。

解決策

Apigee サポートまでお問い合わせください。