할당량 정책 배포 오류 문제 해결

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

InvalidQuotaInterval

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision_number]
Invalid quota interval [interval] in quota policy [policy_name].

오류 메시지 예

Error Saving Revision 1
Invalid quota interval 0.1 in quota policy Quota-1.

예시 스크린샷

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

원인

Quota 정책의 <Interval> 요소에 지정된 할당량 간격이 정수가 아닌 경우 API 프록시 배포가 실패합니다.

예를 들어 Quota 정책의 <Interval> 요소에서 지정된 할당량 간격이 0.1이면 API 프록시 배포가 실패합니다.

진단

  1. 오류가 발생한 Quota 정책과 잘못된 할당량 간격을 식별합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서 정책 이름은 Quota-1이고 잘못된 할당량 간격은 0.1입니다.

    Error Saving Revision 1
    Invalid quota interval 0.1 in quota policy Quota-1.
    
  2. 실패한 Quota 정책에 지정된 할당량 간격의 값이 위의 1단계의 오류 메시지에서 식별된 값과 일치하는지 확인합니다. 예를 들어 다음 정책은 할당량 간격의 값을 오류 메시지의 내용과 일치하는 0.1로 지정합니다.

    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1">
     <DisplayName>Quota-1</DisplayName>
     <Properties />
     <Allow count="3" />
     <Interval>0.1</Interval>
     <TimeUnit>minute</TimeUnit>
    </Quota>
    
  3. 지정된 할당량 간격이 정수가 아니면 이는 오류의 원인이 됩니다.

    위에 표시된 Quota 정책 예시에서 할당량 간격의 값은 정수가 아닌 0.1입니다. 따라서 다음 오류와 함께 API 프록시 배포가 실패합니다.

    Invalid quota interval 0.1 in quota policy Quota-1.
    

해결 방법

Quota 정책의 <Interval> 요소에 지정된 할당량 간격 값이 정수인지 확인합니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
</Quota>

InvalidQuotaTimeUnit

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision_number]
Invalid quota interval time unit [time_unit] in quota policy
[policy_name] in Revision [revision_number] of application
[proxy_name], in organization [org_name].

오류 메시지 예

Error Saving Revision 1
Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.

예시 스크린샷

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

원인

Quota 정책의 <TimeUnit> 요소에 지정된 시간 단위가 지원되지 않으면 API 프록시 배포가 실패합니다.

지원되는 시간 단위는 minute, hour, day, week, month입니다.

예를 들어 Quota 정책의 <TimeUnit> 요소에서 시간 단위가 year로 지정된 경우 API 프록시 배포가 실패합니다.

진단

  1. 오류가 발생한 Quota 정책과 잘못된 시간 단위를 식별합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서 정책 이름은 Quota-1이고 잘못된 시간 단위는 year입니다.

    Invalid quota interval time unit year in quota policy Quota-1
    in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
    
  2. Quota 정책의 <TimeUnit> 요소에 지정된 시간 단위가 위의 1단계의 오류 메시지에서 식별된 시간 단위와 일치하는지 확인합니다. 예를 들어 다음 정책은 할당량 간격의 값을 오류 메시지의 내용과 일치하는 year로 지정합니다.

    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1">
     <DisplayName>Quota-1</DisplayName>
     <Properties />
     <Allow count="3" />
     <Interval>1</Interval>
     <TimeUnit>year</TimeUnit>
    </Quota>
    
  3. Quota 정책에 지정된 시간 단위가 지원되지 않는 경우 이는 오류의 원인이 됩니다.

    위에 표시된 Quota 정책 예시에서 시간 단위는 지원되지 않는 year로 지정됩니다. 따라서 다음 오류와 함께 API 프록시 배포가 실패합니다.

    Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
    

해결 방법

Quota 정책의 <TimeUnit> 요소에 지정된 시간 단위가 지원되는지 확인합니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>month</TimeUnit>
</Quota>

InvalidQuotaType

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision_number]
No enum constant com.apigee.quota.types.QuotaType.[type].

오류 메시지 예

Error Saving Revision 1
No enum constant com.apigee.quota.types.QuotaType.window.

예시 스크린샷

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

원인

Quota 정책의 <Quota> 요소 내 type 속성으로 지정된 할당량 유형이 유효하지 않은 경우 API 프록시 배포가 실패합니다.

지원되는 할당량 유형은 default, calendar, flexi, rollingwindow입니다.

예를 들어 정책이 Quota 정책의 <Quota> 요소 내 window로 지정되면 API 프록시의 배포가 실패합니다.

진단

  1. 할당량 정책에 사용된 잘못된 할당량 유형을 식별합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서 잘못된 정책 유형은 window입니다.

    Error Saving Revision 1
    No enum constant com.apigee.quota.types.QuotaType.window.
    
  2. 오류가 발생한 특정 API 프록시의 모든 할당량 정책을 검사합니다. <Quota> 요소에 지정된 할당량 유형이 위의 1단계에서 식별된 지원되지 않는 유형과 일치하는 Quota 정책이 있는 경우 이는 오류의 원인입니다.

    예를 들어 다음 정책에서는 오류 메시지의 내용과 일치하는 window로 유형을 지정합니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="window">
        <DisplayName>Quota-1</DisplayName>
        <Properties/>
        <Allow count="3"/>
        <Interval>1</Interval>
        <TimeUnit>minute</TimeUnit>
        <StartTime>2017-7-16 12:00:00</StartTime>
        <MessageWeight ref="messageWeight"/>
    </Quota>
    

    유형 속성이 지원되지 않는 window로 설정되므로 API 프록시 배포가 다음 오류와 함께 실패합니다.

    No enum constant com.apigee.quota.types.QuotaType.window.
    

해결 방법

Quota 정책의 <Quota> 요소 내 type 속성으로 지정된 할당량 유형이 지원되는지 확인합니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="rollingwindow">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <MessageWeight ref="messageWeight"/>
</Quota>

InvalidStartTime

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision_number]
Invalid Starttime:[start_time]; Start Time should be of the format yyyy-MM-dd HH:mm:ss.

오류 메시지 예

Error Saving Revision 1
Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.

예시 스크린샷

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

원인

Quota 정책의 <StartTime> 요소에 지정된 시간 형식이 잘못되면 API 프록시 배포가 실패합니다.

유효한 형식은 yyyy-MM-dd HH:mm:ss이며 ISO 8601 날짜 및 시간 형식입니다.

예를 들어 Quota 정책의 <StartTime> 요소에 지정된 시간이 7-16-2017 12:00:00이면 API 프록시 배포가 실패합니다.

진단

  1. Quota 정책에 지정된 잘못된 시작 시간을 식별합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서 잘못된 시작 시간은 7-16-2017 12:00:00입니다.

    Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
    
  2. 오류가 발생한 특정 API 프록시의 모든 할당량 정책을 검사합니다. <StartTime> 요소에 지정된 값이 위의 1단계에서 식별한 잘못된 시작 시간과 일치하는 Quota 정책이 있는 경우 이는 오류의 원인이 됩니다.

    예를 들어 다음 정책에서는 오류 메시지의 내용과 일치하는 7-16-2017 12:00:00로 유형을 지정합니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar">
       <DisplayName>Quota-1</DisplayName>
       <Properties />
       <Allow count="3" />
       <Interval>1</Interval>
       <TimeUnit>minute</TimeUnit>
       <StartTime>7-16-2017 12:00:00</StartTime>
    </Quota>
    

    <StartTime>에 설정된 값이 필요한 날짜/시간 형식을 따르지 않는 7-16-2017 12:00:00으로 설정되므로 API 프록시 배포는 다음 오류와 함께 실패합니다.

    Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
    

해결 방법

Quota 정책의 <StartTime> 요소에 지정된 시작 시간 형식이 필수 형식 yyyy-MM-dd HH:mm:ss에 따라 유효한지 확인합니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
</Quota>

StartTimeNotSupported

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision_number]
Starttime is not supported for quotatype [quota_type]. Starttime is supported only for calendar based type.

오류 메시지 예

Error Saving Revision 1
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.

예시 스크린샷

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

원인

할당량 유형이 캘린더 유형이 아닌 Quota 정책에 <StartTime> 요소가 지정되면 API 프록시의 배포가 실패합니다.

<StartTime> 요소는 calendar 할당량 유형에만 지원됩니다.

예를 들어 Quota 정책의 <Quota> 요소에서 type 속성이 flexi 또는 rolling window로 설정된 경우 API 프록시 배포가 실패합니다.

진단

  1. 실패한 Quota 정책에 지정된 할당량 유형을 식별합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서 잘못된 시작 시간은 flexi입니다.

    Starttime is not supported for quotatype flexi. Starttime is
    supported only for calendar based type.
    
  2. 오류가 발생한 특정 API 프록시의 모든 할당량 정책을 검사합니다. 지정된 유형 속성이 위의 1단계에서 식별한 할당량 유형과 일치하며 <StartTime> 요소가 지정된 Quota 정책이 있는 경우 이는 오류의 원인이 됩니다.

    예를 들어 다음 정책은 할당량 유형을 오류 메시지에 있는 내용과 일치하는 flexi로 지정하고 <StartTime> 요소도 지정합니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi">
        <DisplayName>Quota-1</DisplayName>
        <Properties/>
        <Allow count="3"/>
        <Interval>1</Interval>
        <TimeUnit>minute</TimeUnit>
        <StartTime>2017-7-16 12:00:00</StartTime>
    </Quota>
    

    할당량 유형이 flexi으로 지정된 Quota 정책에 <StartTime> 요소가 지정되어 있으므로 API 프록시의 배포는 다음 오류와 함께 실패합니다.

    Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
    

해결 방법

<Quota> 요소의 type 속성에 표시된 할당량 유형이 flexi 또는 rolling window인 경우 <StartTime> 요소가 지정되지 않았는지 확인합니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi">
    <DisplayName>Quota-1</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
</Quota>

InvalidTimeUnitForDistributedQuota

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision number]
Invalid timeunit second for distributed quota.

오류 메시지 예

Error Saving Revision 1
Invalid timeunit second for distributed quota.

예시 스크린샷

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

원인

<Distributed> 요소가 true로 설정되고 <TimeUnit> 요소가 second로 설정된 경우 API 프록시 배포가 실패합니다. timeunit second는 분산 할당량에 유효하지 않습니다.

Distributed 요소를 true로 설정하면 정책이 중앙 카운터를 유지하고 모든 메시지 프로세서에서 지속적으로 동기화해야 합니다. 따라서 동기화하기 어려우며 요청 수가 짧은 간격(몇 초)으로 지정된 할당량을 초과하지 않았는지 확인하기도 어렵습니다. 따라서 timeunit second는 분산 할당량에 유효하지 않은 것으로 간주됩니다.

진단

오류가 발생한 특정 API 프록시의 모든 할당량 정책을 검사합니다. <TimeUnit> 요소가 second로 설정되고 <Distributed> 요소가 true로 설정된 Quota 정책이 있는 경우 이는 오류의 원인이 됩니다.

예를 들어 아래 정책은 <TimeUnit> 요소가 second로 설정되어 있고 <Distributed> 요소는 true로 설정되어 있습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar">
    <DisplayName>CheckQuota</DisplayName>
    <Properties/>
    <Allow count="30"/>
    <Interval>1</Interval>
    <TimeUnit>second</TimeUnit>
    <StartTime>2018-8-05 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>false</Synchronous>
</Quota>

해결 방법

<Distributed> 요소가 true로 설정된 경우 <TimeUnit> 요소가 second로 설정되지 않도록 확인합니다. <TimeUnit> 요소는 허용된 다른 값(예: minute, hour, day, week, 또는 month) 중 하나로 설정할 수 있습니다.

<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar">
    <DisplayName>CheckQuota</DisplayName>
    <Properties/>
    <Allow count="30"/>
    <Interval>1</Interval>
    <TimeUnit>hour</TimeUnit>
    <StartTime>2018-8-05 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>false</Synchronous>
</Quota>

InvalidSynchronizeIntervalForAsyncConfiguration

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision number]
SyncIntervalInSeconds should be a value greater than zero.

오류 메시지 예

Error Saving Revision 1
SyncIntervalInSeconds should be a value greater than zero.

예시 스크린샷

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

원인

Quota 정책의 <AsynchronousConfiguration> 요소 내에 있는 <SyncIntervalInSeconds> 요소에 지정된 값이 0 미만이면 API 프록시 배포가 실패합니다.

진단

오류가 발생한 특정 API 프록시의 모든 할당량 정책을 검사합니다. <AsynchronousConfiguration> 요소 내의 <SyncIntervalInSeconds> 요소가 0보다 낮은 값으로 설정된 Quota 정책이 있는 경우 이는 오류의 원인이 됩니다.

예를 들어 아래의 정책에는 <SyncIntervalInSeconds> 요소에 지정된 음수 값이 있습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar">
    <DisplayName>Quota_AsyncConfig</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>false</Synchronous>
    <AsynchronousConfiguration>
        <SyncIntervalInSeconds>-1</SyncIntervalInSeconds>
    </AsynchronousConfiguration>
</Quota>

해결 방법

Quota 정책의 <AsynchronousConfiguration> 요소 내의 <SyncIntervalInSeconds> 요소에 항상 양의 정수를 지정해야 합니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar">
    <DisplayName>Quota_AsyncConfig</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>false</Synchronous>
    <AsynchronousConfiguration>
        <SyncIntervalInSeconds>5</SyncIntervalInSeconds>
    </AsynchronousConfiguration>
</Quota>

InvalidAsynchronizeConfigurationForSynchronousQuota

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision number]
AsynchronousConfiguration is not valid for synchronous quota.

오류 메시지 예

Error Saving Revision 2
AsynchronousConfiguration is not valid for synchronous quota.

예시 스크린샷

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

원인

<AsynchronousConfiguration> 요소를 사용하여 비동기 구성이 정의된 Quota 정책에서 <Synchronous> 요소의 값이 true로 설정된 경우 API 프록시의 배포가 실패합니다.

진단

오류가 발생한 특정 API 프록시의 모든 할당량 정책을 검사합니다. <Synchronous> 요소가 true로 설정된 Quota 정책이 있고 이 정책에 <AsynchronousConfiguration> 요소도 정의되어 있는 경우 이는 오류의 원인이 됩니다.

예를 들어 아래 정책에는 true로 설정된 <Synchronous> 요소가 있으며 <AsynchronousConfiguration> 요소도 정의되어 있습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar">
    <DisplayName>Quota_AsyncConfig</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <Distributed>true</Distributed>
    <Synchronous>true</Synchronous>
    <AsynchronousConfiguration>
     <SyncIntervalInSeconds>1</SyncIntervalInSeconds>
    </AsynchronousConfiguration>
</Quota>

해결 방법

Quota 정책에서 <Synchronous> 요소가 true로 설정된 경우 <AsynchronousConfiguration> 요소를 사용하여 비동기 구성이 정의되지 않도록 확인합니다.

위의 예시는 아래와 같이 <AsynchronousConfiguration> 섹션을 삭제하여 수정할 수 있습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar">
    <DisplayName>Quota_AsyncConfig</DisplayName>
    <Properties/>
    <Allow count="3"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
    <StartTime>2017-7-16 12:00:00</StartTime>
    <Distributed>true</Distributed>
 <Synchronous>true</Synchronous>
</Quota>