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

Apigee X のドキュメントを表示中。
Apigee Edge のドキュメントを表示する。

InvalidCacheResourceReference

エラー メッセージ

Apigee UI または 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:[apiproxy_name];Organization:[organization];Environment:[environment]

エラー メッセージの例

Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test

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

テストするリビジョン 2 のデプロイ中にエラーが発生しました。

原因

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

診断

  1. PopulateCache ポリシー名、ポリシーの <CacheResource> 要素で使用されている無効なキャッシュ、エラーが発生した環境を特定します。これらはすべてエラー メッセージで確認できます。たとえば、次のエラーでは、PopulateCache ポリシー名は PopulateCache-Token、無効なキャッシュの名前は tokencache、環境名は test です。

    Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. 失敗した PopulateCache ポリシー XML を調べ、<CacheResource> 要素に指定されたキャッシュ名がエラー メッセージと一致しているかを確認します。

    この例では、<CacheResource> 要素で指定されたキャッシュ名は tokencache です。

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <PopulateCache async="false" continueOnError="false" enabled="true" name="PopulateCache-Token">
        <DisplayName>PopulateCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheResource>tokencache</CacheResource>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <Source>token</Source>
    </PopulateCache>
    
  3. ステップ 1 で確認したキャッシュが、ステップ 1 で特定された固有の環境で定義されているかどうかを確認します。

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

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

    [Environment Configuration Caches] タブ。

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

    Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    

解決策

API プロキシをデプロイする環境で、PopulateCache ポリシーの <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 コンポーネントです。

解決策

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