조회 캐시 정책 배포 오류 문제 해결

ApigeeApigee Hybrid 문서입니다.
Apigee Edge 문서 보기

InvalidTimeout

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 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.

오류 스크린샷 예시

버전 2를 저장하는 중에 오류가 발생했습니다.

원인

LookupCache 정책<CacheLookupTimeoutInSeconds> 요소가 음수로 설정되면 API 프록시 배포가 실패합니다.

예를 들어 <CacheLookupTimeoutInSeconds> 요소가 -1이면 API 프록시 배포가 실패합니다.

진단

  1. LookupCache 정책<CacheLookupTimeoutInSeconds> 요소에 지정된 잘못된 값을 식별합니다. 오류 메시지에서 이 정보를 확인할 수 있습니다. 예를 들어 다음 오류에서 <CacheLookupTimeoutInSeconds> 요소에 사용된 잘못된 값은 -1입니다.

    CacheLookupTimeoutInSeconds -1 value should be greater than zero.
    
  2. 오류가 발생한 특정 API 프록시의 모든 LookupCache 정책을 검사합니다. <CacheLookupTimeoutInSeconds> 요소가 지정된 LookupCache 정책이 한 개 이상 있을 수 있습니다. <CacheLookupTimeoutInSeconds> 요소에 잘못된 값(위 1단계에서 식별됨)이 지정된 LookUpCache 정책을 식별합니다.

    예를 들어 다음 정책 구성은 오류 메시지와 일치하는 -1<CacheLookupTimeoutInSeconds> 값을 지정합니다.

    <?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>
    
  3. <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 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: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

오류 스크린샷 예시

테스트할 버전 2를 배포하는 중에 오류가 발생했습니다.

원인

이 오류는 <CacheResource> 요소 이름이 API 프록시가 배포되는 환경에 없는 이름으로 설정되면 발생합니다.

진단

  1. LookupCache 정책<CacheResource> 요소와 오류가 발생한 환경에 사용된 잘못된 캐시를 식별합니다. 오류 메시지에서 이러한 항목을 모두 확인할 수 있습니다. 예를 들어 다음 오류에서 잘못된 캐시의 이름은 tokencache이며 환경 이름은 test입니다.

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. 오류가 발생한 특정 API 프록시의 모든 LookupCache 정책을 검사합니다. 1단계에서 확인된 잘못된 캐시가 <CacheResource> 요소에 지정된 특정 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>
    
  3. 특정 환경(1단계에서 식별됨)에서 캐시(1단계에서 결정됨)가 정의되었는지 확인합니다.

    Apigee UI에서 관리자 > 환경 > 테스트로 이동하여 환경 구성캐시 탭에 캐시가 있는지 확인합니다. 캐시가 없으면 오류가 발생합니다.

    예를 들어 다음 스크린샷에는 tokencache라는 캐시가 없습니다.

    환경 구성 캐시 탭

    tokencache라는 캐시는 test 환경에 정의되어 있지 않으므로 다음과 같은 오류가 발생합니다.

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

해결 방법

<CacheResource> 요소에 지정된 캐시 이름이 API 프록시를 배포하려는 환경에 생성되었는지 확인합니다.

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

원인

이 오류는 오류 메시지에 언급된 특정 캐시가 특정 메시지 프로세서 구성요소에 생성되지 않으면 발생합니다.

해결 방법

도움이 필요하면 Apigee 지원팀에 문의하세요.